2011-08-30 112 views
3

我有下面的代码JSONP AJAX调用失败,在IE9

$.ajax({ type: 'POST', 
       url: 'index.jsp', 
       data: 'id=111', 
       dataType: 'jsonp', 
       success: function(data) { 
      alert(data.result); 
       }, 
       error: function(err1, err2, err3) 
     { 
       alert('Error:' + err3) 
     } 
      }); 

我返回响应与JSON的说法产生回调参数。像这样

jQuery16105097715278461496_1314674056493({"result" : "success"}) 

这在FF中绝对正常。在IE 9中,它进入错误功能并显示

"Error: jQuery16105097715278461496_1314674056493 was not called" . 

当我看到F12。我看到一个警告说。

SEC7112: Script from http://otherdomain.com 
index.jsp?callback=jQuery16105097715278461496_1314674056493 
&eid=111&_=1314674056493 
was blocked due to mime type mismatch 

enter image description here

enter image description here enter image description here

+1

看看在http://blogs.msdn 。 com/b/ieinternals/archive/2010/09/27/ie9-beta-google-image-search-javascript-content-type-and-nosniff.aspx – Baz1nga

+0

服务器正在返回什么内容?如果IE调试工具没有显示它,你可以使用一个名为Fiddler的工具来嗅探通信。 –

+0

@zzzz我也添加了响应请求标题我会很感激,如果你可以告诉我在哪里我有问题。 –

回答

1

尝试添加的contentType

$.ajax({ 
    type: 'POST', 
    url: 'index.jsp', 
    data: {id:'111'}, 
    contentType: "application/json; charset=utf-8", 
    dataType: 'jsonp', 
    success: function(data) { 
     alert(data.result); 
    }, 
    error: function(err1, err2, err3) 
    { 
     alert('Error:' + err3.status); 
     alert(err1.responseText); 
     } 
}); 

这里是一个很好的文章http://msdn.microsoft.com/en-us/library/gg622941%28v=vs.85%29.aspx

+0

试过它没有任何区别。 –

+0

尝试'应用程序/ javascript'而不是'application/json' – Rafay

+2

尝试了太完全相同的错误。 –