http://www.aaa.com
域名下的ajax请求想获取http://www.bbb.com
域名下的服务器的数据。
- 这是
http://www.aaa.com
域名下的ajax请求:
$.ajax({
type:"post",
url:"http://www.bbb.com/project/testInterface",
dataType:"json",
data:params,
headers:{
"Cookie":“KikGlkjkGDJIGJdgKsdKJasAfasASDFtest"
}
})
会出现如下图这种情况:
通过搜索引擎,结合自己的想法总结一下几点:
1.如果使用document.cookie把Cookie值存储在浏览器中,那么当浏览器发送请求时,会把Cookie值自动在请求头中带上;
2.XMLHttpRequest对象不允许对headers请求头手动设置Cookie值;
3.这让我总结出两种调用接口的方式:
- 其实只要后端配置一下请求头允许的key值,前端在请求头中设置指定的key-value,就可以成功调用后端的接口了。比如,
"identitytoken":"MkhOkPasLteSTbmkKJfdKdfK.MkhOkPasLteSTbmkKJfdKdfK"
,identiytoken就是后端配置的。 - 如果后端没有配置像"identitytoken"这样指定的值,而是通过在请求头中加Cookie值的方式给调用者授权,那么只能在同源策略的条件下发送请求。