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

问题描述 投票:1回答:1

我有这个功能

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

但是,参数:

  • 方法
  • 之前发送
  • 缓存

被我的浏览器FF3,IE8和Chrome浏览器忽略。因此,无论放置在哪里,都不会将浏览器发送的请求更改为给定的url,例如:无法将方法设置为“ POST”,或更重要的是,不能将Authorization参数作为请求的一部分放置,以使HTTP Authorization表单已处理。

另一个奇怪的行为是,除非dataType:“ json”如使用FF3中的LiveHTTPHeaders所示,将不会发送或接收任何请求或响应。例如,如果dataType:“ xml”。

URL似乎已被浏览器正确处理。

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

jquery ajax json authorization
1个回答
3
投票

URL是远程的还是本地的?

根据JQuery Documentation

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

并且对于cache选项,默认值为:“对于dataType'script'和'jsonp'为false”]

© www.soinside.com 2019 - 2024. All rights reserved.