javascript-避免执行CORS预检选项以获得更好的性能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-避免执行CORS预检选项以获得更好的性能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1411字,纯文字阅读大概需要3分钟。
内容图文
使用CDN提供程序,并像这样从CDN调用静态HTML文件.
$.ajax({
url : CDNPATH,
type : "GET",
contentType : "text/plain; charset=utf-8",
async : async,
cache : true,
processData : false,
success : function(response, status, xhr) {
onSuccess(response, status, xhr);
$(document).trigger('contentReady');
}
});
在应用程序的主页上,我有5个静态HTML文件,该文件会触发5个OPTION调用.可以想象,它会损害性能.我曾在类似的问题上看到,使用GET方法和text / plain可以避免这种情况,如上所述,但是这种方法不起作用.
如何避免使用这些印??前检查OPTIONS方法?
解决方法:
字符集参数的存在可能会导致预检?根据规格,浏览器为required to ignore any params and only consider the MIME type,但可能不符合要求.
A CORS-safelisted request-header is a header whose name is one of
Accept
Accept-Language
Content-Language
Content-Type
and whose value, once parsed, has a MIME type (ignoring parameters) that isapplication/x-www-form-urlencoded
,multipart/form-data
, ortext/plain
另外,我看不到您的请求会触发预检.也许我想念一些东西…
更新2017-02-20
根据information provided in a comment above确定,该站点的源似乎包含具有以下内容的脚本元素:
window["_tsbp_"] = { ba : "X-TS-BP-Action", bh : "X-TS-AJAX-Request"};
…并且我没有逐步完成其余代码,以了解产生了什么效果,但是似乎正在导致X-TS-AJAX-Request标头添加到XHR请求中,从而触发了预检.
我想这里的总的收获是:每当您发现请求触发浏览器进行预检但您不知道为什么时,排除故障的步骤号可能应该是使用浏览器devtools来确切找出代码的请求标头导致被发送出去.
内容总结
以上是互联网集市为您收集整理的javascript-避免执行CORS预检选项以获得更好的性能全部内容,希望文章能够帮你解决javascript-避免执行CORS预检选项以获得更好的性能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。