Запрос JQuery $ .ajax не работает в IE - PullRequest
0 голосов
/ 08 декабря 2011

Я использую jquery для запроса $ .ajax. Насколько я знаю, он отлично работает в chrome / firefox и других браузерах, однако в IE он работает первый раз, когда при повторном запросе в IE ajax завершается с ошибкой 406.

Я попытался установить разные заголовки accept без удачи. Есть идеи?

$.ajax({

    type: Request.method,

    url: Request.request_url,

    cache: false,

    data: Request.getVarsString(),

    dataType: "text",

    beforeSend: function(req){
        req.setRequestHeader("Accept", "text/html,application/xhtml+xml/application/xml;q=0.9,*/*;q=0.8"); 
        req.setRequestHeader("Accept-Language", "en-gb,en;q=0.5"); 
        req.setRequestHeader("Accept-Encoding", "gzip, deflate");
        Request.loadBeforeSend(id);
    },

    success: function(replyData){
        Request.requestComplete(id, replyData);
    },

    error: function(jqXHR, textStatus){
        alert(textStatus+" "+jqXHR.status);
        //Request.requestComplete(id, replyData);
    }

}); 

Я использую метод get. Request - это статический класс с некоторыми методами и переменными, которые я использую для выполнения Ajax-запроса

Ответы [ 2 ]

0 голосов
/ 14 декабря 2011

Я не совсем уверен, почему IE делал это, но у меня есть хешированный URL. В то время он отображал хэш "#! / Querystring", но когда я изменил его на "#! Querystring", он работал нормально. Было бы интересно узнать, знает ли кто-нибудь, почему IE не нравится первый пример.

0 голосов
/ 08 декабря 2011

Более старая версия IE не принимает тип запроса, такой как PUT, DELETE, они принимают только POST и GET. Может быть, ваш метод не принят в IE?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...