前端跨域解决方案有哪些

前端跨域解决方案有哪些,第1张

处理跨域方法一——JSONP

1JSONP原理

利用script元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 数据。JSONP请求一定需要对方的服务器做支持才可以。

2JSONP和AJAX对比

JSONP和AJAX相同,都是客户端向服务器端发送请求,从服务器端获取数据的方式。但AJAX属于同源策略,JSONP属于非同源策略(跨域请求)

3JSONP优缺点

JSONP优点是兼容性好,可用于解决主流浏览器的跨域数据访问的问题。缺点是仅支持get方法具有局限性。

4JSONP的流程(以第三方API地址为例,不必考虑后台程序)

声明一个回调函数,其函数名(如fn)当作参数值,要传递给跨域请求数据的服务器,函数形参为要获取目标数据(服务器返回的data)。

创建一个

服务器接收到请求后,需要进行特殊的处理:把传递进来的函数名和它需要给你的数据拼接成一个字符串,例如:传递进去的函数名是fn,它准备好的数据是fn([{“name”:“jianshu”}])。

最后服务器把准备的数据通过>

首先找到获取所需信息的请求,之后查看请求地址和请求参数,使用同样的请求发送数据,如果能得到就OK,得不到的话,可以看一下浏览器的请求代码,火狐和Chrome都可以查看,然后把这些请求头加到代码中,就可以查到了

如果得到的是乱码,有可能被压缩了,解压一下就好,一般为gzip类型压缩,请求头Accept-Encoding:gzip是这样的。

分两种情况:

一、您有目标网站的修改权限,可以直接使用$getJSON();

二、您没有目标网站的修改权限,可以使用php的fopen()函数,然后再用jquery的$get();

两个函数的用法大同小异,根据您的情况,没有银行的修改权限,

那么先做一个php获取银行的汇率,

$get("getphp",{"m1":"货币1","m2":"货币2"},function(data,status){

//回调函数写这里,比如$("div")html(data);

}):

php中的文件读写函数基本上都可直接支持url,也就是说你可以像 *** 作本地文件一样直接 *** 作其他网站的文件(当然只是读取,写入是不可能的),而且没有任何跨域限制,比如下面一行代码就可直接读取百度首页的html代码:

$bd=file_get_contents(">

以上就是关于前端跨域解决方案有哪些全部的内容,包括:前端跨域解决方案有哪些、跨域问题怎么解决、如何用python获得跨域请求的json数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10163444.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存