2010-05-24 146 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); 
    } 
    }); 
    /* ... */ 
}