最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用jsonp解決js讀取本地json跨域的問題

 更新時間:2018年12月11日 08:08:54   作者:Hank_謝旱  
這篇文章主要給大家介紹了關于利用jsonp解決js讀取本地json跨域的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

本文主要給大家介紹了關于使用jsonp解決js讀取本地json跨域的相關內(nèi)容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧

一 、問題描述

通過ajax方式讀取本地json文件,谷歌瀏覽器會提示跨域錯誤,導致獲取不到json數(shù)據(jù)。


跨域報錯.png

ajax獲取json數(shù)據(jù)代碼:

$.ajax({
   url: "file/employeejson.json",//json文件位置
   type: "GET",//請求方式為get
   dataType: "json", //返回數(shù)據(jù)格式為json
   success: function(data) {//請求成功完成后要執(zhí)行的方法 
   console.log(data); 
   }
  })

這段代碼本身沒有錯誤,只是谷歌瀏覽器因為安全問題,攔截這類的訪問。但是在火狐瀏覽器中可以訪問,可以去嘗試一下。

二、解決跨域問題

使用jsonp解決跨域 :(僅適用于GET請求)

實現(xiàn)原理:

<script> 標簽是不受同源策略的限制的,它可以載入任意地方的 JavaScript 文件,而并不要求同源。

所以 JSONP 的理念就是,我和服務端約定好一個函數(shù)名,當我請求文件的時候,服務端返回一段 JavaScript。這段 JavaScript 調(diào)用了我們約定好的函數(shù),并且將數(shù)據(jù)當做參數(shù)傳入。非常巧合的一點(其實并不是),JSON 的數(shù)據(jù)格式和 JavaScript 語言里對象的格式正好相同。所以在我們約定的函數(shù)里面可以直接使用這個對象。

直接上代碼:

<!DOCTYPE html> 
<html> 
 <head> 
  <meta charset="UTF-8"> 
  <title>JSON文件的調(diào)用</title> 
  <script type="text/javascript" src="jquery-1.11.2.min.js"></script>  
 </head> 
 <body> 
 </body> 
 <script>
    //回調(diào)函數(shù)
  function train (data){ 
     console.log(data);
  } 
</script>

<!--jsonp中 需要注意的是 
 <script src="file/employeejson.json?cb=train"></script> 
 src ? 之前為文件地址,? 之后為回調(diào)函數(shù)callback名稱, 
回調(diào)函數(shù)可以簡寫為 cb , 然后 回調(diào)函數(shù) 名稱要與JSON文件中的名稱一致 
可以在 對應的文件名中看下,如,employeejson.json?callback=train,employeejson.json的 函數(shù)名為 train--> 
<script src="file/employeejson.json?cb=train"></script>
</html> 
 //JSON文件 
train(
 [
 {
  "name":"xx",
  "id":"ww"
  }
 ]
 )

三、注意

  • 一定要在json文件的外部用函數(shù)名+()套??;
  • js中的回調(diào)函數(shù)一定要與json中函數(shù)名相同;

總結

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

相關文章

  • js實現(xiàn)iframe跨頁面調(diào)用函數(shù)的方法

    js實現(xiàn)iframe跨頁面調(diào)用函數(shù)的方法

    這篇文章主要介紹了js實現(xiàn)iframe跨頁面調(diào)用函數(shù)的方法,實例展示了iframe中父頁面調(diào)用子頁面和子頁面調(diào)用父頁面的實現(xiàn)技巧,非常具有實用價值,需要的朋友可以參考下
    2014-12-12
  • ES6中Object.assign方法使用詳解

    ES6中Object.assign方法使用詳解

    這篇文章主要給大家介紹了關于ES6中Object.assign方法使用的相關資料,Object.assign可以用來處理數(shù)組,但是會把數(shù)組視為對象,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • MC Dialog js彈出層 完美兼容多瀏覽器(5.6更新)

    MC Dialog js彈出層 完美兼容多瀏覽器(5.6更新)

    MC.Dialog 是由肖毅(YesSky) 開發(fā)一款界面絢麗美觀 操作簡單易用的一款js彈出層 MC.Dialog 是經(jīng)過嚴格了測試的 兼容目前ie7+ 以及其他非ie核心的瀏覽器 完美模擬瀏覽器自帶對話框功能
    2010-05-05
  • JS ES6中的管道運算符詳解

    JS ES6中的管道運算符詳解

    JavaScript 的管道是一個運算符,寫作|>,它的左邊是一個表達式,右邊是一個函數(shù),這篇文章主要介紹了ES6中的管道運算符,需要的朋友可以參考下
    2023-05-05
  • 純js分頁代碼(簡潔實用)

    純js分頁代碼(簡潔實用)

    純js寫的分頁代碼且簡潔實用哦!需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • Bootstrap實現(xiàn)的標簽頁內(nèi)容切換顯示效果示例

    Bootstrap實現(xiàn)的標簽頁內(nèi)容切換顯示效果示例

    這篇文章主要介紹了Bootstrap實現(xiàn)的標簽頁內(nèi)容切換顯示效果,結合完整實例形式分析了基于Bootstrap實現(xiàn)的標簽頁內(nèi)容切換顯示功能相關操作技巧,非常簡單實用,需要的朋友可以參考下
    2017-05-05
  • 淺談es6 javascript的map數(shù)據(jù)結構

    淺談es6 javascript的map數(shù)據(jù)結構

    本篇文章主要介紹了淺談es6 javascript的map數(shù)據(jù)結構,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • JavaScript DOM節(jié)點操作方式全面講解

    JavaScript DOM節(jié)點操作方式全面講解

    DOM(Document Object Model 文檔對象模型)定義了訪問和操作文檔的標準方法。整個瀏覽器網(wǎng)頁就是一個Dom樹形結構,這篇文章主要介紹了JavaScript DOM節(jié)點操作方式
    2022-10-10
  • js實現(xiàn)無限瀑布流實例方法

    js實現(xiàn)無限瀑布流實例方法

    在本篇文章里小編給大家整理的是關于js實現(xiàn)無限瀑布流實例方法以及相關代碼,需要的朋友們學習下吧。
    2019-09-09
  • layui表單提交到后臺自動封裝到實體類的方法

    layui表單提交到后臺自動封裝到實體類的方法

    今天小編就為大家分享一篇layui表單提交到后臺自動封裝到實體類的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09

最新評論

晋宁县| 壤塘县| 寻乌县| 南和县| 淳化县| 曲阜市| 南京市| 章丘市| 无棣县| 金塔县| 芒康县| 太白县| 克东县| 龙泉市| 长丰县| 成安县| 绍兴市| 沙河市| 富川| 黄山市| 云浮市| 博客| 会昌县| 定兴县| 宁南县| 榆林市| 彭山县| 河池市| 宣汉县| 景德镇市| 随州市| 大渡口区| 泰安市| 科技| 密云县| 宣汉县| 建宁县| 丹寨县| 盐边县| 手游| 迭部县|