PHP解决ajax跨域的常见方案有几种
Admin 2022-08-15 群英技术资讯 551 次浏览
跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对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"]); }
指定多个域名(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); }
允许所有域名访问则添加如下代码:
header('Access-Control-Allow-Origin:*');
使用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) } });
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php-fpm解读-进程管理的三种模式—程序媛大丽标明转载以示尊重感谢原作者的分享。php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worker模型。每个worker都在accept本pool内的监听套接字(linux已不存
laravel中redis队列监听中断是怎么回事?不少朋友都有遇到过队列监听中断的情况,这究竟是什么原因以及要怎么解决呢?我们能够从以下几个步骤入手:
while(PHP4,PHP5)while 循环是PHP中最简单的循环类型。它和C语言中的 while 表现地一样。while 语句的基本格式是:while(expr)statement ...
我们在开发的过程中常常遇到需要把对象或者数组进行序列号存储,反序列化输出的情况。特别是当需要把数组存储到mysql数据库中时,我们时常需要将数组进行序列化操作。 序列化(串行化):是将变量转换为可保存或传输的字符串的过程; 反序列化(反串行化):就是在适当的时候把这个字符串再转化成原来的变量使用。 这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。 常见的php序列化和反序列化方式主要有:serialize,unserialize;json_encode,json_decode。_来自PHP 教程,w3cschool编程狮。
php使用redis一、ubuntu上安装php的redis模块我安装的是php7.3,2020年ubuntu1804安装php7.3最新详细教程直接使用命令:sudoaptinstallphp-redis重启php-fpm:/etc/init.d/php7.3-fpmrestart使用phpinfo()查看php的配置信息,检查是否启动redis模块二、安装redis
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008