国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 13:35:05
字體:
來源:轉載
供稿:網友

前言

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

(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>

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三原县| 丹阳市| 平阴县| 赣州市| 西和县| 山东省| 嘉荫县| 台中县| 浦县| 道孚县| 泾阳县| 海门市| 平昌县| 林周县| 巴楚县| 黄骅市| 万州区| 锦州市| 弋阳县| 乌拉特前旗| 太保市| 济源市| 铁岭市| 天水市| 施甸县| 临朐县| 伊宁市| 阜新市| 凤台县| 越西县| 榆中县| 息烽县| 金阳县| 涿鹿县| 平安县| 新源县| 绥芬河市| 灵武市| 田东县| 饶阳县| 晋江市|