失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ajxs跨域 php_php设置header头允许ajax跨域请求

ajxs跨域 php_php设置header头允许ajax跨域请求

时间:2020-03-26 04:11:19

相关推荐

ajxs跨域 php_php设置header头允许ajax跨域请求

在做项目的时候,我们有时候希望能够可以跨域进行请求,但是ajax访问php接口的时候,通常会报一个错误:

Failed to load 你的网址/test.php: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

这种情况解决起来也非常的简单,我们只需要给php的文件加一个header头就可以了。

header("Access-Control-Allow-Origin: *"); // 表示允许任何域名进行访问

当然我们还可以进行域名的限定,只允许特定的域名进行访问

header("Access-Control-Allow-Origin:");

另外我们还可以设置,允许的请求是get、post等

// 响应类型

header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");

// 响应头设置

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

补充:

何为跨域请求呢?大致可分为如下几种情况

发起一个到 /B 的ajax请求,也会有跨域的问题。之所以会有跨域问题,实则是因为其实同一样,也是一个二级域名,而非一级域名(一级域名是)

对于是否允许跨域,更详细的说明可以看下表:

URL

说明

是否允许通信

/a.js

/b.js

同一域名下

允许

/lab/a.js

/script/b.js

同一域名下不同文件夹

允许

:8000/a.js

/b.js

同一域名,不同端口

不允许

/a.js

/b.js

同一域名,不同协议

不允许

/a.js

http://170.32.82.74/b.js

域名和域名对应ip

不允许

/a.js

/b.js

同一域名,不同二级域名

不允许

/a.js

/b.js

二级域名和一级域名

不允许(cookie这种情况下也不允许访问)

/a.js

/b.js

不同域名

如果觉得《ajxs跨域 php_php设置header头允许ajax跨域请求》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。