PHP解决ajax跨域的常见方案有几种

Admin 2022-08-15 群英技术资讯 287 次浏览

今天这篇我们来学习和了解“PHP解决ajax跨域的常见方案有几种”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“PHP解决ajax跨域的常见方案有几种”有一定的帮助。有这方面学习需要的朋友就继续往下看吧!


跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。

同源策略:同源策略/SOP(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

 

常见跨域方法

1、允许单个域名访问

指定某域名(http://client.runoob.com)跨域访问,则只需添加如下代码:

public function test(){
    //单个跨域
    header('Access-Control-Allow-Origin:http://www.runoob.com');
    return json(["code"=>1,"name"=>"lhs"]);
}

2、允许多个域名访问

指定多个域名(http://client1.runoob.com、http://client2.runoob.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);       
} 

3、允许所有域名访问

允许所有域名访问则添加如下代码:

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

4、使用JSONP跨域

使用JSONP跨域则添加如下代码:

public function test(){
    return jsonp(["code"=>1,"name"=>"lhs"]);
}

使用ajax获取数据如下代码:

$.ajax({
    type:"get",
    url:"http://tp51hr.com/api/index/test",
    dataType : "JSONP",//必须
    success:function(res){
        console.log(res)
    }
});

 


“PHP解决ajax跨域的常见方案有几种”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业技术相关的知识可以关注群英网络网站,小编每天都会为大家更新不同的知识。 群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服