开发者

Cannot parse JSON data jQuery autocomplete

开发者 https://www.devze.com 2023-04-07 15:15 出处:网络
I am having trouble getting autocomplete to work, and I believe it is because of parsing. JavaScript code:

I am having trouble getting autocomplete to work, and I believe it is because of parsing.

JavaScript code:

$('#id_emp_name').autocomplete({
    source: '/mycompany/employees.json',
  开发者_如何学运维  minLength: 1,
    dataType: 'json',
    delay: 0,

    parse: function(data) {
        var parsed = [];

        for(var i = 0; i < data.fields.length; i++) {
            parsed[parsed.length] =
            {
                data: data.fields[i],
                value: data.fields[i].eng_name,
                result: data.fields[i].eng_name
            };
        }
        return parsed;
    },

    formatItem: function(item) {
        var name = '';
        name = '(' + item.eng_name + ', ' + item.rank + ')';
        return name;
    }
});

Sample JSON output: url.com/mycompany/employees.json?term=e:

[
    {
        "pk": 1,
        "model": "system.employees",
        "fields": {
            "salary": "1234",
            "rank": "manager",
            "entity_status": "n1",
            "chi_name": "n/a",
            "eng_name": "Eli",
            "department": "marketing",
            "employment_end_date": null,
            "employment_date": "2011-09-20"
        }
    }
]

View:

def employeeJSON(request):

    if request.method == 'GET' and request.GET['term']:

        q_term = request.GET['term']
        emp_list = Employees.objects.filter(eng_name__icontains=q_term)
        json_serializer = serializers.get_serializer('json')()
        json_data = json_serializer.serialize(emp_list, ensure_ascii=False)

        return HttpResponse(
            json_data, mimetype='application/json; charset=utf-8'
        )

I am using jQuery UI autocomplete. I get no values when I type into the textbox, the autocomplete popup partially pops up with no values.

However, whenever I type, I am calling GET requests:

[23/Sep/2011 18:59:51] "GET /mycompany/employees.json?term=e HTTP/1.1" 200 241
[23/Sep/2011 18:59:53] "GET /mycompany/employees.json?term=el HTTP/1.1" 200 241
0

精彩评论

暂无评论...
验证码 换一张
取 消