您的当前位置:首页Ajax跨域问题的解决方法

Ajax跨域问题的解决方法

2022-02-14 来源:爱问旅游网
Ajax跨域问题的解决方法Ajax跨域问题是由浏览器的同源策略造成的,我们可以通过协议+域名+端口确定一个源.

你可以把一个项目理解为一个源.Ajax请求可以对源内的资源发起

访问,但是不同源之间进行Ajax就会有问题.简单来说就是,前台页面ajax获取数据的地址和前台页面地址不是同一个站点,或者不是同一个访问地址。如果直接使用ajax访问,会有以下错误:

最简单的解决方式就是在ajax访问文件的头部添加header标签来允许网站访问,允许固定的域名访问

header('Access-Control-Allow-Origin:http://www.cnwenhui.com');上面的代码是允许该网址进行请求。也可以添加多个网址,允许多个域名访问,添加方法略有不同,传入数组$origin

=

isset($_SERVER['HTTP_ORIGIN'])?

$_SERVER['HTTP_ORIGIN']:'';$allow_origin=array(

'http://client1.runoob.com','http://client2.runoob.com');

if(in_array($origin,$allow_origin)){

header('Access-Control-Allow-Origin:'.$origin);}

如果是不考虑安全方面的问题,则直接允许所有网址访问就可以header('Access-Control-Allow-Origin:*');

一般我在项目中使用最后一种较多,在不涉及隐私和金钱方面或者需要安全性较高的接口,一般允许所有访问。

因篇幅问题不能全部显示,请点此查看更多更全内容