我在使用 jQuery ajax 中的简单回调函数时遇到问题。谷歌不会提供帮助,堆栈溢出也不会,所以我想这可能不是特定的东西,而是我太无知而看不到的东西。对我来说,代码看起来完全像它应该的那样。
所以,这是代码:
function sendMessage(message)
{
//Establish connection to php script
$.ajax({
type: 'POST',
url: 'action/chat/test.php',
success: function(feedback){
alert(feedback);
}
}).error(function(){
//Do some error handling here
});
}
在 test.php 中它只是说
<?php
echo "called";
?>
就我而言,“被叫”应该被提醒 - 但事实并非如此。 我已经检查过函数 sendMessage() 被调用(并且参数消息现在并不重要)。
有人知道吗?
最佳答案
更新:还需要注意一件事,确保您使用某种调试器,例如 firebug。然后您可以转到网络选项卡并手动查看请求 url 和响应,看看是否收到 200 响应或内部服务器错误等。
尝试在成功函数中添加 console.log(data);
以查看是否返回任何内容。
您还可以使用.always(data)
:
function sendMessage(message)
{
//Establish connection to php script
$.ajax({
type: 'POST',
url: 'action/chat/test.php'
}).done(function(data) { console.log(data); })
.fail(function() { alert("error"); })
.always(function() { alert("complete"); });
}
来自文档:
弃用通知:jqXHR.success()、jqXHR.error() 和 jqXHR.complete() 回调 将在 jQuery 1.8 中弃用。要为最终删除准备代码,请改用 jqXHR.done()、jqXHR.fail() 和 jqXHR.always()。
关于jquery - 为什么jquery ajax回调函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10422244/