php跨域请求怎么解决?

2023-08-05    分类: 网站建设

PHP解决跨域问题

在做项目的过程中经常需要跨域访问。这里主要介绍一下 PHP 中怎么解决跨域问题。

1、允许所有域名访问

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

2、允许单个域名访问

header('Access-Control-Allow-Origin: https://test.com');

3、允许多个域名访问

在实际项目中最好指定能跨域访问的域名,增加安全性。可以写在一个公共类里面,封装一个方法调用。


// 设置能访问的域名

staticpublic$originarr= [

'https://test1.com',

'https://test2.com',

];


/**

*  公共方法调用

*/

staticpublicfunctionsetheader()

{

// 获取当前跨域域名

$origin= isset($_SERVER['HTTP_ORIGIN']) ?$_SERVER['HTTP_ORIGIN'] :'';

if(in_array($origin, self::$originarr)) {

// 允许 $originarr 数组内的 域名跨域访问

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

// 响应类型

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

// 带 cookie 的跨域访问

header('Access-Control-Allow-Credentials: true');

// 响应头设置

header('Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token');

}

}

==========

下面创新互联实例介绍
phpkuayu.php
<?php
header('Access-Control-Allow-Origin: https://www.xwcx.net'); //允许单个域名访问
header('Content-Type:application/json; charset=utf-8');
$arr = array('a'=>1,'b'=>2);
exit(json_encode($arr));

---

qingqiu-phpkuayu.php

<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
$(function(){
  $.get('/phpkuayu.php',function(data){
    console.log(data);
  })
})
</script>

分享文章:php跨域请求怎么解决?
文章转载:/news33/274833.html

成都网站建设公司_创新互联,为您提供网站导航移动网站建设网站内链电子商务虚拟主机品牌网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化