IE9中的JSONP AJAX调用错误

时间:2011-09-12 20:19:40

标签: jquery ajax internet-explorer cross-domain jsonp

我正在进行如下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);
        }

1 个答案:

答案 0 :(得分:0)

正如MSDN中的错误所说:

  

如果服务器发送响应头X-Content-Type-Options:nosniff,则SCRIPT和STYLESHEET元素将拒绝具有不正确MIME类型的响应。这是一项安全功能,可帮助防止基于MIME类型混淆的攻击。<​​/ p>

尝试在页面的服务器端发送“X-Content-Type-Options:nosniff”,如果这不适用于ie,则只需触摸www.othersite.com服务器标题即可。

即有时令人头痛。