搜索

首页  >  问答  >  正文

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

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

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

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

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

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

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

phpcn_u1582phpcn_u15822706 天前3197

全部回复(2)我来回复

  • 習慣沉默

    習慣沉默2017-07-05 10:44:13

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

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

    • 不能发送和接收 cookie

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

    回复
    0
  • 漂亮男人

    漂亮男人2017-07-05 10:44:13

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

    回复
    0
  • 取消回复