0

我无法让成功回调在 jQuery ajax 调用中工作。以下代码调用interpretResponse()很好,但当然resultJSONundefined

        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回调应该怎么写?

4

2 回答 2

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
}
于 2013-06-10T21:28:04.570 回答
0

上面的答案是正确的,但事实证明我正在处理一个不同的问题。FireFox 中阻止 ajax 调用超过 readyState 1 的奇怪错误导致回调函数无法加载。我最终使用了这里描述的解决方法: Ajax 不会通过 readyState 1,为什么? 基本上让 Firefox 设置回调onload而不是onreadystatechange.

感谢 pXL 以我提出的方式回答了这个问题。

于 2013-07-11T17:56:42.670 回答