javascript - 使用 Pipline 插件时未为 xhr.dt 传递 jQuery DataTables 对 XHR 的引用
问题描述
数据表版本: 1.10.20
我目前正在使用管道插件并监听xhr 事件。xhr 事件按预期触发,但是回调中的 xhr 参数未定义。设置对象中还有一个 jqXhr 属性,但这也是未定义的。
以下是管道插件的片段
settings.jqXHR = $.ajax( {
"type": conf.method,
"url": conf.url,
"data": request,
"dataType": "json",
"cache": false,
"success": function ( json ) {
cacheLastJson = $.extend(true, {}, json);
if ( cacheLower != drawStart ) {
json.data.splice( 0, drawStart-cacheLower );
}
if ( requestLength >= -1 ) {
json.data.splice( requestLength, json.data.length );
}
drawCallback( json );
}
} );
drawCallback() 似乎是触发 xhr 事件的原因。它利用 settings.jqXHR(在上面的代码中设置)将 xhr 参数传递回事件。由于这个成功是一个异步回调,我希望 setting.jqXHR 在设置对象中可用,但它在 drawCallback() 中是未定义的。
我正在考虑的另一种选择是修改管道代码以触发 xhr 事件,但是,这将导致事件触发 2x,因为它已经在 drawCallback() 中触发。这似乎不是解决问题的正确方法。
有没有人成功地使用 pipline 插件连接到 xhr 事件并访问 xhr 参数,或者对如何解决问题有任何建议?
解决方案
这是在 DataTables 论坛中交叉发布的。Allan 能够纠正管道代码的问题。
谢谢 -需要在管道代码中进行一些小改动来纠正这个问题。我在这里放了一个活生生的例子:http: //live.datatables.net/xovesoso/1/edit。
艾伦
推荐阅读
- python - ModuleNotFoundError:没有名为“pyecharts”的模块
- ios - 如何确保只有一个计时器实例在一个类中运行?
- javascript - 将数组过滤成数组
- r - 如何在 R 中获得变量的预定义大小/长度?
- python - 是否可以将构建的 pyinstaller 可执行文件导入 python 脚本?
- python-3.x - Python selenium - 如何从 Firefox 下载将文件存储在 s3 上
- javascript - 浏览器扩展内容脚本不会更新所有内容
- python - 根据 11 月开始的日期分配从 1 开始的周数
- lua - Lua 可以发送扩展功能 Keys 吗?前 F13-F24
- python - 从 JSON 字节数组中获取字节到 Python