TEL:400-8793-956
当前位置:程序、服务器

后台API界面和Web项目不在一起,如何解决跨域请求问题?

提问者: 近期获赞: 浏览人数: 发布时间:2020-12-20 15:45:15

 问:在不更改API接口的情况下是否有解决跨域请求的解决方案?

 
答:另一种方法是使用后端语言(例如PHP和Java)来请求API接口以获取数据,然后为您提供Web项目,但中间仅进行一次传输。
 
 
答:除了jsonp之外,如果API接口和Web是您自己的项目,则可以在API和Web服务之前放置一个反向代理。Nginx通常用于执行此操作。
尽管此方法非常繁琐,但却是解决问题的最佳方法。首先,原理很明显,不依赖于任何浏览器版本。其次,当您的后台系统很复杂时,通常会将其拆分为几个独立的服务。此时,反向代理已经存在。您需要做的是将JSON API服务移到反向代理后面。
 
 
答:就个人而言,以上答复中提到的Jsonp并不是一个好的解决方案。
我亲自处理前端和后端移动终端,强烈建议:
使用标准JSON的后端API接口】
优势也很明显,Jsonp仅适用于WEB,而WEB只是JSON的折衷解决方案。
http://moonlordapi.sinaapp.com/test.php
请随意测试以上地址。可以跨域请求。
代码如下
 
<?php
header("Access-Control-Allow-Origin:*");
header("Access-Control-Allow-Methods:GET, POST, OPTIONS, DELETE");
header("Access-Control-Allow-Headers:DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding");
//……
问题是,“无需更改API接口”……
一群人回答说JSONP醉了……
解决跨域问题的最直接,最简单的方法是添加此Access-Control-Allow Response标头。
主题可以是百度本身。
上一篇: 网站上面怎么加视频
下一篇: JS源图会导致带宽和流量的浪费吗?