AJAX 服务端设置跨域

ajax全称Asynchronous JavaScript And XML;

XML在简称中残留是历史原因,响应数据一般json,文本,html;

来源域的ajax向目标域(跨域)发起请求,会自动带上Origin头,如
Origin:http://fron.com
目标域判断这个Origin的值,如果正确,返回:
Access-Control-Allow-Origin:http://from.com
表示同意跨域。

如果Access-Control-Allow-Origin:*,表示任意域都可以往目标域跨,
如果没有Access-Control-Allow-Origin头部的存在,
回报下面的错误:
XMLHttpRequest cannot load…..

默认情况下,跨域无法带上目标域的回话(cookie),需要设置xhr实力的withCredentials的属性为true,

服务端设置如下:

<?php 
header("Access-Control-Allow-Origin:http://xxx.com");             
header("Access-Control-Allow-Credentials:true"); 
?>


如果设置了Credentials为true,不能设置通配符*(浏览器为了安全考虑);

    原文作者:搬砖大叔
    原文地址: https://segmentfault.com/a/1190000002669008
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞