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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:33:00
字體:
來源:轉載
供稿:網友

前言

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

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

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 英超| 汤阴县| 盐城市| 无为县| 蒙自县| 堆龙德庆县| 漳平市| 新龙县| 红桥区| 沧州市| 新河县| 瑞丽市| 上林县| 出国| 沐川县| 乌兰浩特市| 中江县| 阿鲁科尔沁旗| 孟津县| 莫力| 永善县| 顺平县| 丽水市| 方山县| 彭泽县| 昌乐县| 丹阳市| 延庆县| 桃源县| 章丘市| 林甸县| 景谷| 彭阳县| 广安市| 遂昌县| 衡东县| 贞丰县| 特克斯县| 定州市| 镇原县| 镇原县|