jquery autocomplete从本地文件中获取数据

时间:2015-03-19 14:50:09

标签: javascript jquery json autocomplete jquery-autocomplete

我正在尝试获取自动完成的数据,但是当我没有得到任何结果时。没有错误,没有任何错误。

$(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"它会工作吗? ?或者我如何在同一个项目的另一个文件夹中使用文件?

1 个答案:

答案 0 :(得分:1)

您的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);
                        }
                });
});