XMLHttpRuquest cannot load
来源:9-7 图表组件页整合开发(二)
尼克1999
2017-07-24
把图表组件的名称储存在一个数组中,然后生成jquery的DOM对象,全部append到$("<head>")里面,然后在Safari中可以加载出来,只不过不是js资源,而是XML资源。
然而在chrome和firefox中,XML资源加载不出来,出现了“XMLHttpRuquest cannot load”以及“XMLHttpRuquest已不推荐使用,因其对终端用户的用户体验存在负面影响”,然后整个页面只能加载到使用XML资源之前。
这样子做为什么会把js资源变成XML资源呢?为什么document.write(字符串)就能正确加载出js资源?
写回答
1回答
-
秋水
2017-07-26
因为你append到head里面的时候,整个页面已经加载完成了,如果你学过后端相关的知识,就知道加载一个完整页面前,每一个http请求都会先发送一个header,header里面包含你需要请求的数据类型,例如,你要请求打开一个PDF文件,首先发送一个header("Content-type:application/pdf"),而且在发送任何数据之前,都必须先发送header。现在你的dom结构已经载入完成了,要加载新的js资源,就变成异步请求了,因此会告诉你XMLHttpRequest cannot load,XMLHttpRequest对象本身就是Ajax对象,但是你并没有配置正确的Ajax请求,所以加载失败。而使用document.write的时候,只要文档扫描到js代码部分就会立即执行,就能同时再加载资源了。
00
相似问题
如何触发point上的load事件
回答 1