jQuery ajax成功回调函数 - 如何让它匿名?

时间:2013-06-10 21:26:36

标签: javascript jquery ajax

我无法在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回调?

2 个答案:

答案 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以我问的方式回答问题。