我正在进行如下jsonp调用。它是一个跨域调用哪个在FF中工作正常,但在IE9中它失败了,我在IE中看到了以下消息。
SEC7112: Script from http://site.com/a.jsp was blocked due to mime type mismatch
我看到这篇文章http://msdn.microsoft.com/en-us/library/gg622941%28v=vs.85%29.aspx,它说它会忽略无嗅响应的响应。那个标题取决于服务器?我如何解决它 ?有没有解决方法?
$.ajax({ type: 'POST',
url: 'http://www.othersite.com/index.jsp',
data: 'action=delete&id=121',
contentType: 'application/javascript',
dataType: 'jsonp',
success: function(data) {
alert(data.fromname);
}
答案 0 :(得分:0)
正如MSDN中的错误所说:
如果服务器发送响应头X-Content-Type-Options:nosniff,则SCRIPT和STYLESHEET元素将拒绝具有不正确MIME类型的响应。这是一项安全功能,可帮助防止基于MIME类型混淆的攻击。</ p>
尝试在页面的服务器端发送“X-Content-Type-Options:nosniff”,如果这不适用于ie,则只需触摸www.othersite.com服务器标题即可。
即有时令人头痛。