从文本文件加载json

时间:2015-07-09 11:02:33

标签: javascript jquery json

我有以下硬编码的json,

var dataLocality = [
    { "label": "Arwen" },
    { "label": "Bilbo Baggins" },
    { "label": "Boromir" },
    { "label": "Frodo Baggins" },
    { "label": "Peregrin Pippin Took" },
    { "label": "Samwise Gamgee" }
];

我使用以下脚本填充自动填充文本框

$(function () {
    $("#locality").autocomplete(
    {
        source: dataLocality
    })
});

我现在有一个文本文件通过我的应用程序动态更新,名为dataLocality.text,我可以使用此代码在警告框中加载和查看,

function codeAddress() {
    jQuery.get('http://localhost/project/jSonDocs/dataWhat.txt', function (data) {
        var dataLocality = data;
        alert(dataLocality);
    });
}
window.onload = codeAddress;

但我似乎无法弄清楚如何将数据从var dataLocality转移到source: dataLocality

我的文档doc中的数据如下所示,

[
    { "label": "Arwen" },
    { "label": "Bilbo Baggins" },
    { "label": "Boromir" },
    { "label": "Frodo Baggins" },
    { "label": "Peregrin Pippin Took" },
    { "label": "Samwise Gamgee" }
];

1 个答案:

答案 0 :(得分:7)

假设您正在使用jQueryUI自动完成方法,您可以将{JSON的URL提供给source方法,它将自动为您检索它。试试这个:

$("#locality").autocomplete({
    source: 'http://localhost/project/jSonDocs/dataWhat.txt'
});

如果您仍然希望手动检索JSON(例如,如果您需要在初始化后更改源代码),那么您可以像这样实现:

function codeAddress() {
    jQuery.get('http://localhost/project/jSonDocs/dataWhat.txt', function (data) {
        $('#locality').autocomplete('option', 'source', data);
    });
}