最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jsonp跨域獲取數(shù)據(jù)的基礎(chǔ)教程

 更新時間:2018年07月01日 15:48:28   作者:3scarecrow  
這篇文章主要給大家介紹了關(guān)于jsonp跨域獲取數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

由于瀏覽器有同源策略,所以要想獲取非同源(協(xié)議,域名,端口三者有一不同都算非同源)的頁面的數(shù)據(jù),就得進行跨域

(1) jsonp原理

由于script標(biāo)簽的src屬性可以訪問非同源的js腳本,所以通過src屬性訪問服務(wù)器會返回函數(shù)的js代碼,而我們想要的數(shù)據(jù)就作為函數(shù)參數(shù)返回,而我們會先定義這個函數(shù),返回的js代碼就可執(zhí)行

(2) jsonp實現(xiàn)代碼

請求頁面

<!DOCTYPE html>
<html>
<head>
 <title></title>
</head>
<body>
<script type="text/javascript">
 function jsonp(data){
  console.log(username)
 }
</script>
<script type="text/javascript" src="jquery-1.8.3.min.js">
</script>
<script type="text/javascript">
 $(document).ready(function(){
  var url = "http://www.example.com/jsonp.php?callback=jsonp";
  var script = $('<script><\/script>');
  script.attr("src",url);
  $("body").append(script);
 });
</script>
</body>
</html>
<?php

$data = {'name': '張三'};
$callback = $_GET['callback'];
echo $callback."(".json_encode($data).")";

?php>

之后php會返回

jsonp({
 name:'niuni
})

然后PHP返回的代碼h會被請求頁面的jsonp方法執(zhí)行

(3)jQuery的簡便jsonp跨域

<script>
 function showData (data) {
  console.info(data);
 }
 $(document).ready(function () {
  $("#btn").click(function () {
   $.ajax({
    url: "http://www.example.comjsonp",
    type: "GET",
    dataType: "jsonp",// 返回數(shù)據(jù)類型
    jsonpCallback: "showData",//回調(diào)函數(shù)
    // 獲取數(shù)據(jù)成功就執(zhí)行success函數(shù)
    success: function (data) {
     console.info("data");
    }
   });
  });
 });
</script>

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論

通化县| 桃园市| 手机| 麻阳| 灵丘县| 高密市| 肥西县| 海南省| 潼关县| 彝良县| 高密市| 新巴尔虎右旗| 镇赉县| 新宾| 克什克腾旗| 巴林左旗| 宁蒗| 琼中| 冀州市| 鹤庆县| 射阳县| 开封县| 正镶白旗| 平乐县| 台北县| 新干县| 邓州市| 桂平市| 平和县| 福清市| 长岭县| 西藏| 烟台市| 汽车| 鄂托克前旗| 苗栗县| 象州县| 阿拉善盟| 陆良县| 日照市| 鄂托克前旗|