国产探花免费观看_亚洲丰满少妇自慰呻吟_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>

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 略阳县| 黄平县| 墨玉县| 葵青区| 新余市| 香港 | 雷山县| 桦川县| 兴文县| 赤峰市| 尼玛县| 恩平市| 凌云县| 乌拉特前旗| 青龙| 巨鹿县| 东台市| 漯河市| 石家庄市| 宜兴市| 花莲县| 江达县| 宁河县| 芒康县| 通化县| 泸定县| 濉溪县| 屏南县| 武山县| 郓城县| 庆城县| 隆化县| 济南市| 丘北县| 清涧县| 吉安县| 富川| 永德县| 弥渡县| 大连市| 沾化县|