2010-05-24 143 views
0

由于某些原因,只有在IE中(尝试了7 & 8),jQuery在执行POST请求时应该是GET。如下所示:Internet Explorer将AJAX GET请求视为POST请求?

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

所有浏览器正常GET,但IE正在执行POST。为什么?

+0

什么版本的jQuery? – SBUJOLD 2010-05-24 20:59:57

+0

为什么你使用'script'作为dataType? – 2010-05-24 21:23:02

回答

0

这很可能是为以前的这种格式的请求(S)的缓存问题,添加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); 
    } 
    }); 
    /* ... */ 
}