Jquery Internet Explorer是否将AJAX GET请求视为POST请求?
出于某种原因,只有在IE(尝试7和8)中,jQuery才在应该是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
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?为什么使用“脚本”作为数据类型?