PHP开启CORS

Posted mracale

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 () {} 
});

  

以上是关于PHP开启CORS的主要内容,如果未能解决你的问题,请参考以下文章

CORS 与 php 会话

超级有用的9个PHP代码片段

koa开启cors允许跨域,携带cookies

PHP必用代码片段

PHP代码-psysh调试代码片段工具

超实用的php代码片段