javascript-在jQuery Datatables中设置`processData:false`会将未知内容附加到我的Ajax调用的URL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-在jQuery Datatables中设置`processData:false`会将未知内容附加到我的Ajax调用的URL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1220字,纯文字阅读大概需要2分钟。
内容图文
![javascript-在jQuery Datatables中设置`processData:false`会将未知内容附加到我的Ajax调用的URL](/upload/InfoBanner/zyjiaocheng/665/db636e5cdce344f88b4994ed0bfae727.jpg)
在下面的this post中,我想将所有Ajax请求自动转换为JSON,并且一切正常.
但是,我注意到有时jQuery在反缓存参数(例如_ = 1472476048876)之前,在URL的末尾添加一个神秘的& [object Object],因为我也设置了cache:false.
当我将processData更改为true时,神秘的部分消失了.有人有什么想法吗?我正在使用jQuery 2.1.4.
编辑:我注意到只有通过Datatables .load()API进行Ajax调用时才会产生该错误.其他人遇到过这个问题吗?
编辑2:为回应@ war10ck的好答案,澄清一下,我正在发出GET请求,但未发送任何数据.我手动创建了URL,因此我认为Datatables向我的请求中添加了一些数据(甚至可能是一个空对象),该数据变成了[object Object].
解决方法:
我想我找到了问题的根源.在Datatables的内部深处,在一个名为_fnBuildAjax的函数中,即使您不提供任何数据参数,也有两行可以执行以下操作:
var tmp = {};
// ...if data is empty...
data = tmp;
最终将空对象传递给jQuery ajax调用,该调用进一步向下移到同一函数底部附近.通常jQuery会使用这个空对象而不更改调用,但是由于processData为false,因此jQuery将其附加到URL(毕竟是GET请求),即使它是一个空对象也将其转换为[object Object].这只发生在Datatables上,因为我在代码的其他地方根本没有指定用于Ajax调用的数据参数,而jQuery很聪明,根本没有在URL后面添加任何内容,但是当看到空对象时,它不知道并按原样附加.我希望这有助于将来的程序员调试这种极端情况:).再次感谢@ war10ck的解释.
内容总结
以上是互联网集市为您收集整理的javascript-在jQuery Datatables中设置`processData:false`会将未知内容附加到我的Ajax调用的URL全部内容,希望文章能够帮你解决javascript-在jQuery Datatables中设置`processData:false`会将未知内容附加到我的Ajax调用的URL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。