记几种解决跨域问题的办法

 2023-09-13 阅读 23 评论 0

摘要:想当年也是被跨域搞大了头~~~ 服务端代码为php,其它的语言应该也有类似的吧,或者差不多的意思。 情况一: 设置Access-Control-Allow-Origin ,这玩意儿意思就是你允许谁请求你的东西;下面这个设置为“所有的”,请求的方法为“get,p

想当年也是被跨域搞大了头~~~

 

服务端代码为php,其它的语言应该也有类似的吧,或者差不多的意思。

情况一:

设置Access-Control-Allow-Origin ,这玩意儿意思就是你允许谁请求你的东西;下面这个设置为“所有的”,请求的方法为“get,post”。

跨域三种解决方式、(注意安全,一般可能作为测试用)

/*星号表示所有的域都可以接受,*/
header("Access-Control-Allow-Origin:*");header("Access-Control-Allow-Methods:GET,POST");echo "这是我随便写的数据";

情况二:

jsonp,其实看了那些相关文章之后,发现jsonp这个东西其实跟使用script标签,和$.getScript方法是一个道理。那么我就分小点列一下。

PHP:这个代码都一样不用改

$callback = isset($_GET['jsoncallback']) ? trim($_GET['jsoncallback']) : ''; //jsonp回调参数,必需
$date = array("msg"=>"这是我随便写的数据");
$tmp= json_encode($date); //json 数据echo $callback . "(".$tmp.")"; 

①jsonp

JS:

$.ajax({url:"*******/ajax.php",type:"post",dataType:"jsonp",jsonp: 'jsoncallback',success:function(data){console.log(data);}
});

localhost跨域问题?②getScript

JS

function jsoncallback(data){console.log(data);
}
$.getScript("*******/ajax.php?jsoncallback=jsoncallback");

③script标签,同上,只是改为动态写个标签附上这个路径到src上。

 

这种情况的实现方法呢是通过get方式(也只能用这个方式)请求的同时附带callback方法(以上为jsoncallback),那么后台拿到这个参数之后直接返回只是返回的时候是这个东西

jsoncallback(data);

什么是跨域问题?what!!!这不是一个JS的方法调用吗?噢噢噢噢这样,所以我之前定义的那个方法就可以拿到这个data参数了。然后进行数据处理吧~~~

 

转载于:https://www.cnblogs.com/AlexBlogs/p/5796201.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/55322.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息