我无法在jQuery ajax调用中获得成功回调。以下代码调用interpretResponse()
就好了,但当然resultJSON
为undefined
:
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
回调?
答案 0 :(得分:1)
这样做:
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
}
答案 1 :(得分:0)
上面的答案是正确的,但事实证明我正在处理一个不同的问题。 FireFox中的奇怪错误使得ajax调用越过readyState 1导致回调函数无法加载。我最终使用了这里描述的解决方法:
Ajax won't get past readyState 1, why?
基本上让Firefox设置回调onload
而不是onreadystatechange
。
感谢pXL以我问的方式回答问题。