php写app接口跨域了,thinkphp5.1+uni-app接口开发中跨域问题解决方案

一般而言,在public/index.php中只需要加入以下三行代码即可解决

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

header('Access-Control-Allow-Headers: token,Origin, X-Requested-With, Content-Type, Accept');

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

但是使用微信或微信开发者工具访问时post提交数据还是会提示跨域,所以修改后完整代码如下

// [ 应用入口文件 ]

namespace think;

// 加载基础文件

require __DIR__ . '/../thinkphp/base.php';

if (isset($_SERVER['HTTP_ORIGIN'])) {

// Decide if the origin in $_SERVER['HTTP_ORIGIN'] is one

// you want to allow, and if so:

header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");

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

header('Access-Control-Max-Age: 86400'); // cache for 1 day

}

// Access-Control headers are received during OPTIONS requests

if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))

// may also be using PUT, PATCH, HEAD etc

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

if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))

header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

exit(0);

}

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

header('Access-Control-Allow-Headers: token,Origin, X-Requested-With, Content-Type, Accept');

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

// 支持事先使用静态方法设置Request对象和Config对象

// 执行应用并响应

Container::get('app')->run()->send();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值