我在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().