Internet Explorer рассматривает запрос AJAX GET как запрос POST? - PullRequest
0 голосов
/ 25 мая 2010

По какой-то причине, только в IE (пробовал 7 и 8), jQuery выполняет запрос POST, когда это должен быть GET. Смотрите ниже:

function(...) {
  /* ... */
  $.ajax({
    type: 'GET',
    dataType: 'script',
    url: '/something/' + id,
    processData: false,
    data: 'old_id=' + oldId,
    success:function(data) {
      alert(data);
    }
  });
  /* ... */
}

Все браузеры правильно получают, но IE выполняет POST. Почему?

Ответы [ 2 ]

0 голосов
/ 25 мая 2010

Оказывается, проблема заключалась в добавлении параметров в вызове к $.ajaxSend(), что заставляет библиотеку jQuery преобразовывать POST-запросы в GET-запросы в IE. Вот больше информации относительно решения, с которым я столкнулся:

http://www.justinball.com/2009/07/08/jquery-ajax-get-in-firefox-post-in-internet-explorer/

0 голосов
/ 25 мая 2010

Скорее всего, это проблема с кешем для ваших предыдущих запросов в этом формате, добавьте cache:false к функции ajax и, надеюсь, все будет хорошо:

function(...) {
  /* ... */
  $.ajax({
    type: 'GET',
    cache:false, // this needed for IE
    dataType: 'script',
    url: '/something/' + id,
    processData: false,
    data: 'old_id=' + oldId,
    success:function(data) {
      alert(data);
    }
  });
  /* ... */
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...