jQuery .ajax调用在success函数调用中返回undefined或null

时间:2011-05-10 21:59:57

标签: jquery

我有以下jQuery ajax调用:

executeAllAjaxCalls:function() {
    if (WALMART.jQuery.ajaxCalls.length) {
        var dataPassed = "ajaxCalls="+WALMART.jQuery.ajaxCalls;        

        WALMART.jQuery.ajax({   
            url: WALMART.jQuery.ajaxFrameworkUrl                     
            , data: dataPassed
            , dataType: WALMART.jQuery.jsonResponseType   
            , type: 'POST'   
            , success: WALMART.jQuery.AjaxObject_Consolidated.processConsolidatedData
        });
    }       
}

成功时函数调用中返回的数据未定义。

这是在ajax调用成功时调用的函数:

processConsolidatedData:function(result) {
    alert("1234"+result);
    var responseData = eval('(' + result.responseText + ')');
    if (typeof responseData !== '') {
        for (resp in responseData) {
                ALMART.jQuery(document).ready(responseData[resp].CallbackFunction);             
        }
    }
}

为什么在后端的struts操作时,响应为null或未定义c:输出有效的JSON对象。任何提示或指示,因为我是jQuery的新手。

1 个答案:

答案 0 :(得分:0)

我认为您的代码中存在错误...

    for (resp in responseData) {
            ALMART.jQuery(document).ready(responseData[resp].CallbackFunction);             
    }

我想你了:

    for (resp in responseData) {
            WALMART.jQuery(document).ready(responseData[resp].CallbackFunction);             
    }

除非必要,我还会使用jQuery.parseJSON而不是'eval'。