Jquery Ajax不发送头文件

Bob*_*Bob 6 ajax jquery oauth cors

我已经阅读了类似问题的无数答案,但无法解决我的具体问题.

我有一个Web API,它使用oauth令牌向RESTful服务发出请求.这是跨域的.

我知道我的cors设置正确,因为我可以毫无问题地从应用程序发出请求.

我的问题是我的标题没有被发送.

$.ajax({
        type: "GET",
        crossDomain: true,
        url: url,
        data: data,
        success: success,
        dataType: 'json',
        cache: false,
        beforeSend: function (xhr) {
            xhr.setRequestHeader("Authorization", "bearer TOKENGOESHERE"),
            xhr.setRequestHeader("RandomHeader", "test")
        }
    });
Run Code Online (Sandbox Code Playgroud)

如果我使用fiddler调用我的API并在那里设置标头,API会按预期获取标头.只有这个AJAX调用似乎不起作用.

我在最新的Chrome浏览器中运行此功能.

Und*_*ied 6

您是否尝试将标头作为参数发送?

$.ajax({
    type: 'POST',
    url: url,
    headers: {
        "my-first-header": "first value",
        "my-second-header": "second value"
    }
})
Run Code Online (Sandbox Code Playgroud)

  • @Byron你能说清楚吗?我有同样的问题,看不出我做错了什么. (5认同)
  • 我已经意识到自己的错误,这是一个愚蠢的错误。我一直在正确设置ajax调用(也可以使用标头作为参数)。我的问题是我在应用程序中使用了不正确的ajax类(帮助器)。 (2认同)
  • @Bob 你说的帮手是什么意思?我正在使用 `$.ajax({})` 并且我的标题也被剥离了 (2认同)