$ .ajax中的某些参数未通过

时间:2009-04-07 10:07:25

标签: jquery ajax json authorization

我有这个功能

$.ajax({
url:aurl,
method:'GET',
beforeSend:function(req) {req.setRequestHeader('Authorization', auth);},
cache:false,
dataType:"json",
error:function() {...},
success:function(t) {...}
});

然而,参数:

  • 方法
  • beforeSend
  • 高速缓存
我的浏览器FF3,IE8和Chrome忽略了

。因此,无论放置什么都不会改变浏览器发送给给定URL的请求,例如:无法将方法设置为“POST”,或者更重要的是,不能将授权参数作为请求的一部分放置,以便HTTP授权表单处理完毕。

另一个奇怪的行为是除非 数据类型: “JSON” 如果使用FF3中的LiveHTTPHeaders,将不会发送或接收请求或响应。例如,如果dataType:“xml”。

浏览器似乎正确处理了URL。

如何确保发送这些额外参数,任何有这些问题的人?

1 个答案:

答案 0 :(得分:2)

网址是远程还是本地?

根据JQuery Documentation

  

注意:当GET'script''jsonp'时,所有远程(不在同一域)请求都应指定为dataType(因为它使用a加载脚本) DOM脚本标签)。需要XMLHttpRequest对象的Ajax选项不适用于这些请求。完成时调用complete和success函数,但不接收XHR个对象;未调用beforeSenddataFilter函数。

,对于cache选项,默认值为:“dataType'script'和”jsonp“的错误