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

基于on this discussion我修改了this function并得到如下内容。现在收到错误消息:

json.aaData在第99行未定义

Whole code is here

        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;
    }
}

我想念什么?有什么建议吗?

最佳答案

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

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

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

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

因此,如果打开JavaScript控制台并键入json.aaData,您将看到它返回未定义。因此,无论如何设置json变量的aaData属性都不会这样做。希望这可以帮助您查找错误。

10-06 12:40