在 JS 中将 GET 转换为 POST

Converting GET into POST in JS

本文关键字:POST 转换 GET JS 中将      更新时间:2023-09-26

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

基于这个讨论,我修改了这个函数,得到了如下所示的内容。现在收到错误消息:

json.aaData is undefined @ line 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;
    }
}

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

这是

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

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

但是,您确实说过这行:

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

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

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