Ошибка вызова JSONP AJAX в IE9 - PullRequest
       32

Ошибка вызова JSONP AJAX в IE9

0 голосов
/ 13 сентября 2011

Я делаю вызов 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, где говорится, что он игнорирует ответ с ответом No-Sniff.Так что заголовок зависит от сервера?Как мне это исправить?Есть ли обходной путь?

$.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 голосов
/ 13 сентября 2011

Как говорит ошибка в MSDN:

Элементы SCRIPT и STYLESHEET отклонят ответы с неправильными типами MIME, если сервер отправит заголовок ответа X-Content-Type-Options: nosniff. Это функция безопасности, которая помогает предотвратить атаки на основе путаницы MIME-типа.

попробуйте отправить «X-Content-Type-Options: nosniff» на стороне сервера вашей страницы, если это не работает, т. Е. Вам просто нужно прикоснуться к заголовкам сервера www.othersite.com.

то есть иногда это головная боль.

...