Jquery Internet Explorer是否将AJAX GET请求视为POST请求?

Jquery Internet Explorer是否将AJAX GET请求视为POST请求?,jquery,ajax,internet-explorer,post,get,Jquery,Ajax,Internet Explorer,Post,Get,出于某种原因,只有在IE(尝试7和8)中,jQuery才在应该是GET的时候执行POST请求。见下文: function(...) { /* ... */ $.ajax({ type: 'GET', dataType: 'script', url: '/something/' + id, processData: false, data: 'old_id=' + oldId, success:function(data) { a

出于某种原因,只有在IE(尝试7和8)中,jQuery才在应该是GET的时候执行POST请求。见下文:

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

所有浏览器都可以正常访问,但IE正在执行POST。为什么?

这很可能是您以前的请求在该格式下的缓存问题,请将
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);
    }
  });
  /* ... */
}

问题是在调用
$.ajaxSend()
时附加了参数,这导致jQuery库将POST请求转换为IE中的请求。下面是有关我遇到的解决方案的更多信息:


什么版本的jQuery?为什么使用“脚本”作为数据类型?