麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

通過jsonp獲取json數據實現AJAX跨域請求

2019-11-19 17:48:44
字體:
來源:轉載
供稿:網友

AJAX(異步的 JavaScript 和 XML)是用于創建快速動態網頁的一種技術,它在不重新加載整個頁面的情況下,與服務器交換數據并更新部分網頁,ajax 使用XMLHttpRequest對象在后臺與服務器交換數據,XMLHttpRequest 是 AJAX 的基礎,它允許客戶端 JavaScript 通過 HTTP請求連接到遠程服務器。

但是,由于受到瀏覽器的限制,這種方法不可以進行跨域訪問,如果使用這種方法進行跨域訪問則會出現安全問題。不過,我們可以發現,在web頁面跨域調用 js文件時,不會受到瀏覽器的限制,所以我們可以利用將遠程服務器端的數據裝入js格式的文件,然后再用來供客戶端進行調用。

JSON(JavaScript 對象表示法)是一種輕量級的文本數據交換格式,它具有自我描述性,易于理解。JSON 可通過 JavaScript 進行解析,JSON 數據可使用 AJAX 進行傳輸。

JSON實例:

{ "employees": [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName":"Carter" } ] }

JSON 語法是 JavaScript 對象表示法語法的子集:

數據在名稱/值對中, 數據由逗號分隔 ,花括號保存對象, 方括號保存數組

JSON的特性

  • 純文本,易于跨平臺傳遞
  • Javascript原生支持,后臺語言幾乎全部支持
  • 使用輕量級的文本數據交換格式,適合在互聯網中傳遞
  • 比 XML 更小、更快,更易解析。

基于JSON的這些特性,可以通過使服務器動態生成JSON文件,然后將客戶端需要的數據裝入這個文件,再將該文件調回客戶端供客戶端使用。為了便于客戶端使用數據,逐漸形成了一種非正式傳輸協議JSONP,該協議的一個要點就是允許用戶傳遞一個callback參數給服務端,然后服務端返回數據時會將這個callback參數作為函數名來裝入JSON數據,這樣客戶端就可以隨意定制自己的函數來自動處理返回數據了。

如何使用JSONP

一種簡單的方式就是使用jQuery來實現:

<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>test</title> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js"></script>  <script type="text/javascript">  $(document).ready(function(){      $.ajax({    type: "get",    async: false,    url: "http://encounter.christmas023.space/json.php?name=mavis&age=18",    dataType: "jsonp",    jsonp: "callback",//傳遞給請求處理程序或頁面的,用以獲得jsonp回調函數名的參數名(一般默認為:callback)    jsonpCallback:"message",//自定義的jsonp回調函數名稱,默認為jQuery自動生成的隨機函數名,也可以寫"?",jQuery會自動為你處理數據    success: function(json){     alert('你的名字:' + json.name + ' 年齡: ' + json.age);         },    error: function(){     alert('fail');    }   });   });  </script></head><body></body></html>
  • type:請求類型,GET 或 POST,默認為 GET;
  • async:true(異步)或 false(同步),默認情況下為true,同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執行;
  • url:發送請求的地址(跨域請求時應為絕對地址);
  • dataType:指定服務器返回的數據類型;
  • jsonpCallback:自定義JSONP回調函數名稱;
  • success:請求成功后回調函數;
  • error:請求失敗時調用此方法。

運行結果:

服務器返回的數據類型:

返回一個指定函數名為message的回調函數,函數里面包裹的數據為JSON格式。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 美国一级黄色毛片 | 一级一片免费 | 国产精品一区网站 | 亚洲视频精选 | 国产成人在线网址 | 精品亚洲视频在线观看 | 蜜桃视频网站在线观看 | 99国产精品国产免费观看 | 亚洲影视在线 | 香蕉成人在线视频 | 欧美一区二区三区久久精品视 | 日本精品黄色 | av免费在线网站 | 99视频在线观看视频 | 久久逼逼| 三人弄娇妻高潮3p视频 | 久久精品一二三区 | av成人免费观看 | 伊人成人免费视频 | 91午夜在线观看 | 午夜精品久久久久久久96蜜桃 | 黄色片网站免费 | 销魂美女一区二区 | 暖暖免费观看高清完整版电影 | 色人阁五月天 | 国产一区二区精品91 | 奶子吧naiziba.cc免费午夜片在线观看 | 国产精品片一区二区三区 | 国产精品91久久久 | chinese 军人 gay xx 呻吟 | 久久国产中文字幕 | 1314av| 亚洲一区在线视频观看 | 日日噜噜噜噜久久久精品毛片 | 免看黄大片aa | 亚洲va久久久噜噜噜久久男同 | 国产一级免费在线视频 | 国人精品视频在线观看 | 久久亚洲精品视频 | 蜜桃传媒视频麻豆第一区免费观看 | 欧美一级aa免费毛片 |