3

使用数据表。尝试使用 POST 获得工作功能(目前仅适用于 GET)。

基于这个讨论,我修改了这个函数并得到了类似下面的东西。现在收到错误消息:

json.aaData 未定义@第 99 行

完整代码在这里

        jQuery.post( sSource, aoData, function (data) { 
            /* Callback processing */
            oCache.lastJson = jQuery.extend(true, {}, data);

            if ( oCache.iCacheLower != oCache.iDisplayStart )
            {
                data.aaData.splice( 0, oCache.iDisplayStart-oCache.iCacheLower );
            }
            data.aaData.splice( oCache.iDisplayLength, data.aaData.length );

            fnCallback(data)
        },"json" );
    }
    else
    {
        json = jQuery.extend(true, {}, oCache.lastJson);
        json.sEcho = sEcho; /* Update the echo for each response */
        json.aaData.splice( 0, iRequestStart-oCache.iCacheLower ); // <- this line
        json.aaData.splice( iRequestLength, json.aaData.length );
        fnCallback(json);
        return;
    }
}

我错过了什么?有什么建议吗?

4

2 回答 2

1

jQuery.post( sSource, aoData, function (data) {。你有aoData,但在你引用的代码中aaData。这可能是一个错字。

于 2012-05-13T19:23:03.903 回答
0

因此,您提供的完整代码示例不可能是完整代码,因为它只有 75 行长,并且您收到一个错误,提示您在第 99 行有一个未定义的属性。

但是,您确实说过这一行:

json.aaData.splice( 0, iRequestStart-oCache.iCacheLower );

给你未定义的错误。发生的事情是您试图访问由于某种原因在您的 json 对象上不存在的属性 aaData 的拼接函数。

因此,如果您打开 JavaScript 控制台并输入 json.aaData,您将看到它返回 undefined。所以任何应该设置 json 变量的 aaData 属性的东西都没有这样做。我希望这可以帮助您找出错误。

于 2012-05-13T19:25:40.760 回答