Ajax 调用在 keyup 函数中不起作用
Posted
技术标签:
【中文标题】Ajax 调用在 keyup 函数中不起作用【英文标题】:Ajax call is not working in keyup function 【发布时间】:2020-10-28 18:16:18 【问题描述】:当我在 ajax 调用警报显示之前放置警报但未在 ajax 调用内部显示时,它甚至没有进入 ajax 调用内部,为什么它是一个 php 文件,而我正在使用 xxamp。
<div class="col-sm-12 pb-3">
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script>
document.querySelector("#scroll_msg").scrollTop = document.querySelector("#scroll_msg").scrollHeight;
</script>
$(document).ready(function()
$('#text').keyup(function(e)
if(e.keyCode==13)
var text=$('#text').val();
$.ajax(
type:'POST',
url:'insert_msg.php',
data:text:text,
success:function()
//alert('hello');
$('#scroll_msg').load('display_msg.php');
$('#text').val('');
);
);
);
【问题讨论】:
什么是“alert('hello');”在你的 ajax 配置对象中做什么?它破坏了语法。 无论如何它都不起作用我在成功函数中尝试了警报而不是ajax 并且您确实包含了 jquery 和一个带有 idtext
的 textarea 或 input[type=text] ?
是的,一切都很好,它是一个 textarea 类型 = text 和 id =text
那么您必须向我们提供更多代码,因为上面的 sn-p 很好。
【参考方案1】:
删除 alert() 并且以下是工作代码。 (显然它在这里不起作用,因为这些端点对 *** 无效,但如果您在您的环境中尝试,它们应该可以工作)
$(document).ready(function()
$('#text').keyup(function(e)
if(e.keyCode==13)
console.log('Event keyUp on enter');
var text=$('#text').val();
$.ajax(
type:'POST',
url:'insert_msg.php',
data:text:text,
success:function() alert('hello');
$('#scroll_msg').load('display_msg.php');
$('#text').val('');
);
);
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<input type="text" id="text">
【讨论】:
好像还是不行 你能不能点击上面ans中的Run Code sn-p,你应该可以看到它正在进入ajax并且keyup事件正在运行。你也可以分享你在本地运行时看到的控制台错误吗? Uncaught TypeError: $.ajax is not a function at htmlTextAreaElement. (sent_messages.php:92) at HTMLTextAreaElement.dispatch (jquery-3.4.1.slim.min.js:2)在 HTMLTextAreaElement.v.handle (jquery-3.4.1.slim.min.js:2) (匿名) @ sent_messages.php:92 dispatch @ jquery-3.4.1.slim.min.js:2 v.handle @ jquery -3.4.1.slim.min.js:2 是的,我知道它得到了 keyup 事件,但我只是注意到控制台中的错误,它是 ajax 或我的 Jquery 版本中的问题,我不知道帮助我【参考方案2】:是的,我的代码终于没问题了,它是 Jquery 的精简版 引起了问题,所以我将其替换为仅缩小了它现在可以使用, 谢谢大家。
【讨论】:
以上是关于Ajax 调用在 keyup 函数中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Ajax 在 windows 的 Visual Studio 中不起作用(Blend)
$.extend 中的 AJAX 函数在 jQuery 3 中不起作用