ajax get post 跨域 并携带cookie
get和post时才有这个跨域和cookie跨域的问题,jsonp因为机制不同,无此问题,但是jsonp数据量有限
原生js
// 会带上cookie
var xmlhttp = new XMLHttpRequest();
xmlhttp.withCredentials = true;
jquery ajax
$.ajax({
url : rankApi,
dataType : "json",
xhrFields: {
withCredentials: true
},
data:{
},
type : "post",
success : function(res){
},
error : ()=>{
}
})
php相应头
// 允许cookie
$header["Access-Control-Allow-Credentials"] = "true";
// 允许跨域
$origin = input("origin", request()->header("Origin"));
if ($origin && in_array($origin, config("alloworigin")))
{
$header["Access-Control-Allow-Origin"] = $origin;
}
// 判断jsonp
if (isset($_GET['callback']))
{
return jsonp($data);
}
else
{
return json($data, 200, $header);
}
最后更新于 2017-08-28 03:51:50 并被添加「ajax 跨域 并携带cookie」标签,已有 728 位童鞋阅读过。
此处评论已关闭