【问题标题】:jquery autocomplete get data from local filejquery自动完成从本地文件中获取数据
【发布时间】:2015-05-22 18:05:43
【问题描述】:

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

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

【问题讨论】:

    标签: javascript jquery json autocomplete jquery-autocomplete


    【解决方案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);
                            }
                    });
    });
    

    【讨论】:

    • 您应该向 jsfiddle 发布一个工作示例。我能够去掉一些东西让它与以下代码一起工作: $(document).ready(function() { $.ajax({ url: "auto.json", dataType: 'json', success:函数(数据){ 控制台日志(数据);} });});
    猜你喜欢
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    相关资源
    最近更新 更多