我正在编写一个存在于系统中的 JS 脚本,该系统现在通过 jqXHR.setRequestHeader() 在使用 jQuery.ajaxPrefilter() 注册的函数中向所有 Ajax 请求添加自定义 XID 标头。
在我的脚本中,我需要向第三方站点发出 Ajax 请求,其 Access-Control-Allow-Headers 未设置为允许此自定义 XID 标头。
看来我有3个选择:
- 找到一种方法来删除 $.ajax() 的 beforeSend 函数中的 XID 标头,我已经确认它在 ajaxPrefilter() 函数之后被调用。
- 完全放弃使用 $.ajax() 并自己编写 Ajax 内容。
- 让 $.ajax() 指向接受自定义 XID 标头的系统后端,并通过 cURL 向第三方站点执行请求。
如果有一种简单的方法,则首选选项#1,因为它将是最干净,最快的路线。只是想不通怎么做。
我试过像这样覆盖它,但它没有用:
beforeSend: function(jqXHR, settings) {
jqXHR.setRequestHeader('custom-xid-header', null);
}
有任何想法吗?