chrome 扩展:拒绝标头“日期”在ajax请求中
我有一个用于 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 中运行良好。 有人知道如何解决它吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,Chrome 必须拒绝您的请求,因为标准规定:
参考:http://www.w3.org/ TR/XMLHttpRequest/#the-setrequestheader-method
Yeah Chrome must refuse your request because the standard says:
Reference: http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader-method
你不能。由于您正在发送 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.
它很蹩脚,因为如果你使用 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"