chrome 扩展:拒绝标头“日期”在ajax请求中

发布于 2024-11-28 08:15:55 字数 474 浏览 0 评论 0 原文

我有一个用于 api (ajax) 的 javascript 代码,我需要将标头“日期”发送到 api 服务器(必需标头),但 chrome 告诉我“拒绝设置不安全的标头“日期””,我得到了响应api-server 就像“缺少必需的 http 日期标头”。

我正在使用jquery。

代码示例:

var d = new Date();
var headers = {};
headers["Date"] = d.toUTCString();
jQuery.ajax({
            url: '<some HTTPS url>'
            type: "get",
            crossDomain: true,
            headers: headers,
            ....

})

相同的代码在 Firefox 中运行良好。 有人知道如何解决它吗?

I have a javascript code to be used for api (ajax) and I need to send header "date" to api-server (required header), but chrome tells me 'refused to set unsafe header "Date" ' and I get response from api-server like "missing required http date header".

I'm using jquery.

code sample:

var d = new Date();
var headers = {};
headers["Date"] = d.toUTCString();
jQuery.ajax({
            url: '<some HTTPS url>'
            type: "get",
            crossDomain: true,
            headers: headers,
            ....

})

the same code works fine in firefox.
does anybody have any ideas how to fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

隱形的亼 2024-12-05 08:15:55

是的,Chrome 必须拒绝您的请求,因为标准规定:

如果标头与以下标头之一匹配,则终止这些步骤:
[...]

  • 日期

参考:http://www.w3.org/ TR/XMLHttpRequest/#the-setrequestheader-method

Yeah Chrome must refuse your request because the standard says:

Terminate these steps if header is a match for one of the following headers:
[...]

  • Date

Reference: http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader-method

桃扇骨 2024-12-05 08:15:55

你不能。由于您正在发送 XHR 请求,因此当您设置禁止标头的完整列表时,必须根据标准终止该请求:

http://www.w3.org/TR/XMLHttpRequest2/#the-setrequestheader-method

您需要通过原始网址进行代理或采取其他一些解决办法。

You can't. Since you are sending a XHR request it MUST be terminated according to the standard when you set a whole list of prohibited headers:

http://www.w3.org/TR/XMLHttpRequest2/#the-setrequestheader-method

You'll need to proxy through your originating url or some other work around.

浪荡不羁 2024-12-05 08:15:55

它很蹩脚,因为如果你使用 Firefox 和 RestClient,你就可以做到。但如果您使用 Chrome 和“高级 Rest 客户端”,则不能

Its lame because if you use Firefox and the RestClient you can do it. But you can't if you use Chrome and the "Advanced Rest Client"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文