首页 > 编程语言 >Thinkphp5.1允许uni-app的H5跨域请求接口解决方法

Thinkphp5.1允许uni-app的H5跨域请求接口解决方法

时间:2023-05-11 20:32:45浏览次数:41  
标签:Control 跨域 app H5 Access header token Allow

情景:

     uni-app使用vue框架开发混合APP,虽然APP或者小程序没有跨域,但希望就是写完这个既有H5,又有APP,小程序等,所以能通过后端解决跨域最好。但是不知道是vue的原因还是什么,在PHP接口基类中添加了header头完全不起作用。官方给出的方法也有,具体可以看https://uniapp.dcloud.io/api/request/request。

    

分析:

 1. 以前的做法是在接口添加以下部分就可以解决ajax的跨域(虽然也用过jsonp)。

// 指定允许其他域名访问  
        // header('Access-Control-Allow-Origin:*');
        // // 响应类型  
        // header('Access-Control-Allow-Methods:*');
        // // 响应头设置  
        // header('Access-Control-Allow-Headers:*');

 

2.  添加后请求,报错“Access to XMLHttpRequest at 'http://www.unxxx.com/api/v1.user/login' from origin 'http://192.168.2.121:8000' has been blocked by CORS policy: Request header field token is not allowed by Access-Control-Allow-Headers in preflight response.”;自定义的请求头token不被允许。因为接口请求需要带上token,把token放在自定义请求头上再传到PHP。

 

3. 于是就将token改为普通参数方式传递,但依然报错,Access to XMLHttpRequest at 'http://www.xxxxxx.com/api/v1.user/login' from origin 'http://192.168.2.121:8000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource。

Thinkphp5.1允许uni-app的H5跨域请求接口解决方法 _跨域

 

4. 以上可以看出就是普通跨域报错了,然后看一下浏览器的请求响应报文。

Thinkphp5.1允许uni-app的H5跨域请求接口解决方法 _ThinkPHP_02

 

5. 发现返回过来的头部信息完全不是自己在接口上指定的,抱着试一试的念头,把跨域请求放到了TP5.1的入口文件\public\index.php,竟然就可以正常请求了,目前我也不清楚原因是什么。

Thinkphp5.1允许uni-app的H5跨域请求接口解决方法 _ThinkPHP_03

 

Thinkphp5.1允许uni-app的H5跨域请求接口解决方法 _跨域_04

标签:Control,跨域,app,H5,Access,header,token,Allow
From: https://blog.51cto.com/u_11161174/6267650

相关文章

  • ios打包ipa的四种实用方法(.app转.ipa)
    总结一下,目前.app包转为.ipa包的方法有以下几种:1、Apple推荐的方式,即实用xcode的archive功能Xcode菜单栏->Product->Archive->三选一,一般选后两个。局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦。一般多人开发时都是采用provisioningprofile+P12文......
  • ios打包ipa的四种实用方法(.app转.ipa)
    总结一下,目前.app包转为.ipa包的方法有以下几种:1、Apple推荐的方式,即实用xcode的archive功能Xcode菜单栏->Product->Archive->三选一,一般选后两个。局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦。一般多人开发时都是采用provisioningprofile+P12文......
  • 使用laravel-snappy生成pdf
    laravel-snappy基于wkhtmltopdf工具,可以比较完美的将web页面转成pdf格式。顺便把laravel及laravel-snappy安装过程记录下composerconfig-grepo.packagistcomposerhttps://mirrors.aliyun.com/composer/composercreate-projectlaravel/laravelexample-appcomposerr......
  • Frequently CRSD Appear Unresponsive/Intermediate/Offline Status (Doc ID 2352557.
    事件背景描述:环境:Linux/Oracle12.2.0.1.0/RAC问题:数据库监听无法连接,集群异常问题处理过程:1.登录数据库查看相关状态,如下,发现crsd进程状态为cleaning2.发现crsd进程异常后,判断可能是网络层面问题,通过查杀gipc进程集群并未恢复正常3.联系主机工程师上线排查网络问题,网络工程师排......
  • ustc-csapp-attacklab
    这部分仍然属于第三章的内容,承接上一个实验。ustc版本相对原版本有些变化,但是主题没有变,都是作为黑客去攻击一个软件。这周要做的事情太多(工作难找......
  • uni-app在手机上背景图片不显示
    需求:在uniapp代码中view的背景图加载 问题:直接使用background-image:url(../../static/icon_top_bg.png);会导致图片不显示 代码:<template><viewclass="index":style="{backgroundImage:`url(${indexBackgroundImage})`,backgroundSize:'cover&......
  • 微信小程序获取appid 小程序appid获取 小程序页面链接获取
    1.可以获取任何小程序的appid2.可以获取任何小程序的对应页面链接3.以上二者收费服务2块钱一次,单独一项1元不支持后付费需要的加微信备注来意 ......
  • 在vite中配置proxy跨域
    我们在编写前端项目的时候,经常会遇到跨域的问题,当我们访问后端API的URL路径时,只要域名、端口或访问协议(如HTTP和HTTPS)有一项不同,就会被浏览器认定为跨域。另外我们也会经常重复编写后端的域名,例如 https://example.com/api/some_end_point,https://example.com/api/other_e......
  • 论文阅读 -- High-speed_function_approximation_using_a_minimax_quadratic_interpol
    SFU设计算法基础Interpolation插值:给定有限点预测附近点的方法算法复现requireMaple代码复现精度与资源referenceHigh-SpeedFunctionApproximationminimaxcoeffAitken(埃特金)逐次插值法|一次插值、二次插值、k次插值FPGA_LUT-based_InterpolationF......
  • 京喜APP - 图片库优化
    作者:京东零售何骁介绍京喜APP早期开发主要是快速原生化迭代替代原有H5,提高用户体验,在这期间也积累了不少性能问题。之后我们开始进行一些性能优化相关的工作,本文主要是介绍京喜图片库相关优化策略以及关于图片相关的一些关联知识。图片性能问题作为电商APP,图片在各个业务场景......