php使用CORS实现跨域请求

Posted 时光cs流逝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php使用CORS实现跨域请求相关的知识,希望对你有一定的参考价值。

js跨域的解决方法,一百度一大堆,不过都是jsonp为主,这种解决方法只适用于GET请求。POST跨域的话需要在HTTP协议上下功夫。

主要会用到以下几个响应头

Access-Control-Allow-Origin

Access-Control-Allow-Methods

Access-Control-Max-Age

Access-Control-Allow-Headers

一个个来解释

Access-Control-Allow-Origin:允许哪些url可以跨域请求到本域

Access-Control-Allow-Methods:允许的请求方法,一般是GET,POST,PUT,DELETE,OPTIONS

Access-Control-Max-Age:表明在该时间段内不再“预检”允许的请求方法(相当于缓存),即不以OPTIONS方法进行请求

angularjs这边是没任何区别的,重点在服务端

Access-Control-Allow-Headers:允许哪些请求头可以跨域

php可以利用header函数发送响应头

 

header(\'Access-Control-Allow-Origin:*\');

header(\'Access-Control-Allow-Methods:POST\');

header(\'Access-Control-Max-Age:60\');

header(\'Access-Control-Allow-Headers:x-requested-with,content-type\');

header(\'Content-Type:application/json;charset=utf-8\');

print_r(file_get_contents(\'php://input\'));

以上是关于php使用CORS实现跨域请求的主要内容,如果未能解决你的问题,请参考以下文章

解决ajax跨域的办法,代理,cors,jsonp

带有 PHP 标头的跨域请求标头 (CORS)

Django中使用CORS实现跨域请求

CORS跨域请求规则以及在Spring中的实现

如何在ASP NET Core中实现CORS跨域

Java实现CORS跨域请求