中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jsonp跨域獲取數據的基礎教程

發布時間:2020-10-19 22:23:00 來源:腳本之家 閱讀:124 作者:3scarecrow 欄目:web開發

前言

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

(1) jsonp原理

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

(2) jsonp實現代碼

請求頁面

<!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方法執行

(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",// 返回數據類型
    jsonpCallback: "showData",//回調函數
    // 獲取數據成功就執行success函數
    success: function (data) {
     console.info("data");
    }
   });
  });
 });
</script>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永新县| 讷河市| 商丘市| 石林| 大方县| 格尔木市| 凤山县| 淮南市| 包头市| 北宁市| 陇西县| 如东县| 水富县| 精河县| 东辽县| 渝中区| 宁晋县| 南乐县| 长沙县| 武义县| 惠水县| 正安县| 永昌县| 松原市| 石景山区| 阿尔山市| 肇源县| 广灵县| 泸水县| 佛冈县| 湖北省| 汾阳市| 武清区| 会泽县| 天长市| 汾西县| 东乡族自治县| 乐亭县| 乐山市| 垦利县| 阿拉尔市|