Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery Ui从URL自动完成的问题_Jquery_Ajax_Json_Jquery Ui_Jquery Ui Autocomplete - Fatal编程技术网

jQuery Ui从URL自动完成的问题

jQuery Ui从URL自动完成的问题,jquery,ajax,json,jquery-ui,jquery-ui-autocomplete,Jquery,Ajax,Json,Jquery Ui,Jquery Ui Autocomplete,您能告诉我如何使用jQuery UI自动完成从URL获取数据吗?目前,我有一个代码,对我来说很好: var data = [ {"label":"Aragorn", "actor":"Viggo Mortensen"}, {"label":"Arwen", "actor":"Liv Tyler"}, {"label":"Bilbo Baggins", "actor":"Ian Holm"}, {"label":"Boromir", "actor":"Sean Be

您能告诉我如何使用jQuery UI自动完成从URL获取数据吗?目前,我有一个代码,对我来说很好:

var data = [
    {"label":"Aragorn", "actor":"Viggo Mortensen"},
    {"label":"Arwen", "actor":"Liv Tyler"},
    {"label":"Bilbo Baggins", "actor":"Ian Holm"},
    {"label":"Boromir", "actor":"Sean Bean"},
    {"label":"Frodo Baggins", "actor":"Elijah Wood"},
    {"label":"Gandalf", "actor":"Ian McKellen"},
    {"label":"Gimli", "actor":"John Rhys-Davies"},
    {"label":"Gollum", "actor":"Andy Serkis"},
    {"label":"Legolas", "actor":"Orlando Bloom"},
    {"label":"Meriadoc Merry Brandybuck", "actor":"Dominic Monaghan"},
    {"label":"Peregrin Pippin Took", "actor":"Billy Boyd"},
    {"label":"Samwise Gamgee", "actor":"Sean Astin"}
    ];

$(function() {

    $( "#search" ).autocomplete(
    {
        source:data,
        select: function( event, ui ) {
            $( "#search" ).val( ui.item.label + " / " + ui.item.actor );
            return false;
        }
    }).data( "autocomplete" )._renderItem = function( ul, item ) {
        return $( "<li></li>" )
            .data( "item.autocomplete", item )
            .append( "<a><strong>" + item.label + "</strong> / " + item.actor + "</a>" )
            .appendTo( ul );
        };      

});
和HTML:

 <input type="text" id="search" />
但是我需要从serverdata.json.txt上存储的json文件中获取数据,而不是放在页面上。我试图将source:data更改为source:data.json.txt,但没有成功

您可以尝试使用$.get获取数据

$(function () {
    var data;
    $.get('data.json.txt', function (response) {
        data = response;
        $("#search").autocomplete({
            source: data,
            select: function (event, ui) {
                $("#search").val(ui.item.label + " / " + ui.item.actor);
                return false;
            }
        }).data("autocomplete")._renderItem = function (ul, item) {
            return $("<li></li>")
                .data("item.autocomplete", item)
                .append("<a><strong>" + item.label + "</strong> / " + item.actor + "</a>")
                .appendTo(ul);
        };
    }, 'json');
});

请确保此处$.get'/path/to/data.json.txt'中的URL正确。

你好,马格纳斯,谢谢你的回复,但诚实的说,我迷路了。我应该在哪里使用$.get进入.autocomplete?我们这里是URL?新编辑!我希望现在能工作。我不认为它会在运行autocomplete之前加载数据。很难说问题出在哪里:尝试通过在浏览器中粘贴URL来访问json文件,看看是否可以访问它。上面的基本概念应该是正确的,所以现在你只需要让它在你这边起作用