Javascript jQuery ajax成功回调函数-如何使其匿名?
我无法在jQuery ajax调用中使用成功回调。下面的代码调用了Javascript jQuery ajax成功回调函数-如何使其匿名?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我无法在jQuery ajax调用中使用成功回调。下面的代码调用了interpretatresponse()很好,但是resultJSON当然是未定义的: var that = this; jQuery('#fsForm1492441').submit(function(event) { event.preventDefault(); jQuery.ajax({ type: "POST",
interpretatresponse()
很好,但是resultJSON
当然是未定义的
:
var that = this;
jQuery('#fsForm1492441').submit(function(event) {
event.preventDefault();
jQuery.ajax({ type: "POST",
url: "format_result.php",
data: jQuery(this).serialize(),
success: that.interpretResponse(),
dataType: "json"
});
});
function interpretResponse(resultJSON) {
// code here to handle resultJSON
}
我想要像这样的东西:
success: function(resultJSON) {
that.interpretResponse(resultJSON);
},
如何编写成功
回调?只需执行以下操作:
success: interpretResponse,
您的代码将如下所示-
var that = this;
jQuery('#fsForm1492441').submit(function (event) {
event.preventDefault();
jQuery.ajax({
type: "POST",
url: "format_result.php",
data: jQuery(this).serialize(),
success: interpretResponse,
dataType: "json"
});
});
function interpretResponse(resultJSON) {
// code here to handle resultJSON
}
上面的答案是正确的,但事实证明我在处理一个不同的问题。FireFox中一个奇怪的bug阻止ajax调用通过readyState 1,导致回调函数无法加载。我最终使用了这里描述的解决方法: 基本上是让Firefox设置回调
onload
,而不是onreadystatechange
感谢pXL按照我的提问方式回答了这个问题。与其设置
数据类型:'json'
,不如将调用的文件头设置为'Content-type:application/json'
。要可靠得多,需要解析的JS更少。interpretatResponse
不是对象属性。它可能只是成功:解释响应
。