问题描述
尝试在我的网站程序中使用跨域请求另一个网站的数据,目标网站需要验证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...