javascript - js跨域请求报错:Refused to set unsafe header "Referer"?

【字号: 日期:2022-06-02浏览:56作者:雯心

问题描述

尝试在我的网站程序中使用跨域请求另一个网站的数据,目标网站需要验证http request中的refer参数。

将chrome浏览器的跨域选项打开,并且使用如下风格代码尝试发送请求

$.ajax({ headers: {'Referer':'https://xxx.com/xxxxxx' }, type:’POST’, data:{...}, success:function(r){...} });

结果浏览器报错:Refused to set unsafe header 'Referer'

查询资料得知,浏览器貌似不允许设置请求的header参数。

有相关开发经验的同学请指教,这个需求在理论上是否可实现?如何实现?

问题解答

回答1:

为了安全,跨域XHR对象有一些限制:

不能使用 setRequestHeader() 设置自定义头部

不能发送和接收 cookie

调用 getAllResponseHeaders() 方法总会返回空字符串

回答2:

我最近也刚遇到,可以参考我的文章,不懂可以问我:/a/11...

标签: JavaScript
相关文章: