2016-09-22 60 views
0

把这个代码:的JavaScript - XMLHttpRequest的overrideMimeType在IE

let jsonRequest = new XMLHttpRequest(); 
jsonRequest.overrideMimeType("application/json"); 
jsonRequest.open('GET', './js/settings.json', true); 

IE不支持overrideMimeType,我的HTML已经被设置为UTF-8。离开overrideMimeType线路是否有风险?没有它似乎工作得很好。 This question有几乎相同的问题,但答案不是很清楚。

回答

0

IE从他们的v11开始支持这种mime-type覆盖。但这在实践中并不是必需的,这在您链接的其他帖子中讨论过。

从安全角度来看,您关心的是 - 答案是否定的。不使用它不能强加任何安全问题,同样单独使用它也不会使你更安全。

如果你关心响应的有效性,比如说 - 如果它在解析和使用之前是有效的json,那么使用getResponseHeader方法有更好的选择,这将有助于你在无效头的情况下中止请求只要标题到达,就尽早。看到https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getResponseHeader

+0

完美,这是很有道理的。感谢您的详细解答。 –