psy*_*tik 3 ajax jquery xmlhttprequest
作为此问题的解决方案,我想知道是否有人知道在发送 XMLHttpRequest 对象之前修改其 URL 的方法。
理想情况下,我想在事件中更改 uri(对其进行编码)beforeSend(使用 jQuery $.ajaxSetup),而不是在我使用 $.ajax 的每个位置中更改它
谢谢!
根据文档,该方法将对象作为参数beforeSend()传递,并将其指针设置为 Ajax 请求选项。没有URL 属性,但W3C 文档似乎说该对象的方法可以在给定实例上多次调用:XMLHttpRequestthisXMLHttpRequestopen()
beforeSend: function(xhr) {
// if you're doing authenticated requests, you might have to
// call the 5-argument form of open() instead
xhr.open(this.type, this.url.replace( /* whatever with whatever... */ ), this.async);
}
Run Code Online (Sandbox Code Playgroud)
这样做的一个潜在问题是调用会open()清除所有已设置的请求标头,因此您可能需要在其中添加一些额外的代码以重新添加 jQuery 在调用之前设置的标头beforeSend()。
编辑:果然。现在我已经查看了jQuery 源代码,您是对的:URL 是在beforeSend()调用方法之前设置的。希望上述修改对您有用。
| 归档时间: |
|
| 查看次数: |
10055 次 |
| 最近记录: |