从文本文件加载json

Boj*_*les 4 javascript jquery json

我有以下硬编码的json,

var dataLocality = [
    { "label": "Arwen" },
    { "label": "Bilbo Baggins" },
    { "label": "Boromir" },
    { "label": "Frodo Baggins" },
    { "label": "Peregrin Pippin Took" },
    { "label": "Samwise Gamgee" }
];
Run Code Online (Sandbox Code Playgroud)

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

$(function () {
    $("#locality").autocomplete(
    {
        source: dataLocality
    })
});
Run Code Online (Sandbox Code Playgroud)

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

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

但我似乎无法制定出如何从获取数据var dataLocalitysource: dataLocality

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

[
    { "label": "Arwen" },
    { "label": "Bilbo Baggins" },
    { "label": "Boromir" },
    { "label": "Frodo Baggins" },
    { "label": "Peregrin Pippin Took" },
    { "label": "Samwise Gamgee" }
];
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 7

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

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

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

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