PHP开启CORS

CORS 定义

Cross-Origin Resource Sharing(CORS)跨来源资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好。另一方面,JSONP 可以在不支持 CORS 的老旧浏览器上运作。现代的浏览器都支持 CORS。

php后台响应头部代码

//json头 
header("Content-type: application/json");

//跨域 
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: 跨域URL"); 

//CORS 
header("Access-Control-Request-Methods:GET, POST, PUT, DELETE, OPTIONS"); 
header('Access-Control-Allow-Headers:x-requested-with,content-type,test-token,test-sessid');

js请求代码

$.ajax({ 
	type: "POST", 
	url: "", 
	xhrFields: {withCredentials: true}, 
	crossDomain: true, 
	data: "", 
	beforeSend: function (XMLHttpRequest) { 										XMLHttpRequest.setRequestHeader("test-token", 'abcd'); 						XMLHttpRequest.setRequestHeader("test-sessid", 'abcd'); 
	}, 
	error: function (XMLHttpRequest) {
	    if (XMLHttpRequest.status === 401) { } 
	}, 
	success: function () {}, 
	complete: function () {} 
});

  

posted @ 2019-04-26 14:21  zhuzhipeng  阅读(5428)  评论(0编辑  收藏  举报