jquery自动完成从本地文件获取数据

jquery autocomplete get data from local file

本文关键字:文件 获取 数据 jquery      更新时间:2023-09-26

我正在尝试获取用于自动完成的数据,但是当我没有结果时。没有错误,什么都没有。

$(document).ready(function()
        {
            $('#txtAutoComplete').autocomplete({
            delay: 0,
            source: function (request, response) {
                $.ajax({
                    url: "auto.json",
                    dataType: 'json',
                    data: request,
                    success: function( data ) {
                        response( $.map( data, function( item ) {
                            return(item.name)
                        }));
                    }
                }); 
               },  
               minLength: 1
              });   
        });

示例json文件是:

[
    {
        "name": "John",
        "value": "Doe"
    }{
        "name": "1",
        "value": "2"
    }{
        "name": "33",
        "value": "44"
    }{
        "name": "name",
        "value": "surname"
    }
]

我已经将auto.json文件放在了与javascript文件相同的文件夹中。但是,我将来需要使用不同的文件夹。在这一点上,我有一个问题:如果我将url设置为"/homeDirectoryPath/auto.json",它会起作用吗?或者如何使用同一项目中另一个文件夹中的文件?

您的JSON文件不是有效的JSON。试试这个:

[
    {
        "name": "John",
        "value": "Doe"
    },{
        "name": "1",
        "value": "2"
    },{
        "name": "33",
        "value": "44"
    },{
        "name": "name",
        "value": "surname"
    }
]

如果要验证JSON数据,请使用JSONLint。

http://jsonlint.com/

以下内容对我使用了上述JSON数据。我没有你正在使用的脚本,所以我只是在测试ajax函数:

$(document).ready(function() {
                $.ajax({
                    url: "auto.json",
                    dataType: 'json',
                    success: function( data ) {
                                console.log(data);
                        }
                });
});