ajax在js腳本文件中導入json文件,並使用文件內容


如何在一個單獨的js腳本文件中導入json文件中的數據呢?

代碼如下

// 這段代碼可以導入一個"../static/json/infos.json"文件,
// 並使用json數據,

var text; // 一個變量
$.ajax({
    type: 'get',  // 請求類型
    url: '../static/json/infos.json', // 文件相對地址(相對於使用這個js腳本的html文件)
    dataType: 'json', // 類型
    async: false,
    success: function(data) {
        text = data; // data就是json文件中的數據,可以直接賦給text,類型為js對象,也就是直接從json數據轉換成了js對象
    },
    error: function() {
        alert('請求失敗');
    }
})
this.songs = text; // 使用json數據,this.songs 是一個js對象

使用例子

../static/json/infos.json 文件

[{
    "id": 1,
    "title": "\u3072\u3053\u3046\u304d\u96f2",
    "author": "\u5ddd\u672c\u6bd4\u4f50\u5fd7",
    "format": "MPEG Audio",
    "size": "9.068 MB",
    "songUrl": "../static/musics/001.mp3",
    "imageUrl": "../static/images/001.png"
},
{
    "id": 2,
    "title": "Rainbow",
    "author": "\u5317\u5ddd\u52dd\u5229",
    "format": "MPEG Audio",
    "size": "7.824 MB",
    "songUrl": "../static/musics/002.mp3",
    "imageUrl": "../static/images/002.png"
}]

在導入之后,this.songs這個對象為

this.songs = [{
    "id": 1,
    "title": "\u3072\u3053\u3046\u304d\u96f2",
    "author": "\u5ddd\u672c\u6bd4\u4f50\u5fd7",
    "format": "MPEG Audio",
    "size": "9.068 MB",
    "songUrl": "../static/musics/001.mp3",
    "imageUrl": "../static/images/001.png"
},
{
    "id": 2,
    "title": "Rainbow",
    "author": "\u5317\u5ddd\u52dd\u5229",
    "format": "MPEG Audio",
    "size": "7.824 MB",
    "songUrl": "../static/musics/002.mp3",
    "imageUrl": "../static/images/002.png"
}]

然后就可以在這個js腳本文件中快樂的使用this.songs這個對象了

每次測試時,請刪除瀏覽器緩存的cookies,免得再次加載不了剛剛修改的相關文件

聲明:

增刪有風險,操作要謹慎;凡操作失誤,導致的損失,與本人無關;實施操作前請做好安全措施。
謝謝關注!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM