javascript
jquery、javascript实现(get、post两种方式)跨域解决方法
jquery、javascript實(shí)現(xiàn)(get、post兩種方式)跨域解決方法
一、實(shí)現(xiàn)get方式跨域請(qǐng)求數(shù)據(jù)
瀏覽器端
<script> $(document).ready(function(){$.ajax({url: "http://www.xxx.cn/index.php",type: "get",dataType: "jsonp", //指定服務(wù)器返回的數(shù)據(jù)類型 success: function (data) {console.log(data);}}); }); </script>服務(wù)器端
| 12345678 | <?php????$data= [????????'info'??=>?'跨域請(qǐng)求成功',????????'status'=> 1????];????$callback=?$_GET['callback'];//callback參數(shù)是發(fā)起請(qǐng)求是jquery的回調(diào)參數(shù)。????echo$callback.'('.json_encode($data).')';//所有返回?cái)?shù)據(jù)時(shí),需要按照此方式。?> |
?
二、實(shí)現(xiàn)post方式跨域請(qǐng)求
瀏覽器端
| 123456789101112 | <script>$(document).ready(function(){????$.ajax({????????url:?"http://www.xxx.cn/index.php",????????type:?"post",????????dataType:?"json",?//指定服務(wù)器返回的數(shù)據(jù)類型????????success:?function(data) {????????????console.log(data);????????}????});});</script> |
?
服務(wù)器端
Access-Control-Allow-Origin:*?表示允許任何域名跨域訪問
如果需要指定某域名才允許跨域訪問,只需把Access-Control-Allow-Origin:*改為Access-Control-Allow-Origin:允許的域名
例如:header('Access-Control-Allow-Origin:http://www.xxx.com');
| 12345678910 | <?php????header('Access-Control-Allow-Origin: *');//允許所有來源訪問????header('Access-Control-Allow-Methods: POST');//響應(yīng)類型?????????$data= [????????'info'??=>?'post方式,跨域請(qǐng)求成功',????????'status'=> 1????];????echojson_encode($data);?> |
?
某些header請(qǐng)求頭
// 指定允許其他域名訪問
header('Access-Control-Allow-Origin:*');
// 響應(yīng)類型
header('Access-Control-Allow-Methods:POST');
// 響應(yīng)頭設(shè)置
header('Access-Control-Allow-Headers:x-requested-with,content-type');
//設(shè)置內(nèi)容類型為json
header('content-type:application:json;charset=utf8'); ?
總結(jié)
以上是生活随笔為你收集整理的jquery、javascript实现(get、post两种方式)跨域解决方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis:07---Redis数据结构
- 下一篇: gradle idea java ssm