无法在jquery自动完成中解析DJango视图的json输出

时间:2012-09-20 07:39:05

标签: jquery django json autocomplete tastypie

我开发了基于tastypie的REST api,它返回了正确的JSON

如果我开始在自动完成的城市文本框中输入mou(JQuery AutoComplete),则返回JSON

{"meta":    {"limit": 10, "next": null, 
             "offset": 0, "previous": null, "total_count": 1}, 
 "objects": [{"id": "1", "name": "Mountin View", 
              "resource_uri": "/api/meta/city/1/"}]
}

如何在城市文本框中显示结果并允许用户选择(如果返回的对象超过1个)。

这是我的JQuery代码,但我观察到只有showResult被调用(我在每个函数中都有警报)我错过了什么?

$("#city").autocomplete('/api/meta/city/', {
    dataType: "json",
    selectFirst: true,
    formatItem:function(item, index, total, query)
               { 
                   alert("formatItem");return item.name; 
               },
    formatMatch:function(item)
                { 
                    alert("formatMatch");return item.name;
                },
    formatResult:function(item)
                 { 
                     alert("formatResult");return item.name;
                 },
    parseJSON:function(data) 
              { 
                 alert("parseJSON");
                 return $.map(data, function(item) 
                                    { 
                                        return { data: item,
                                                 value: item.name,
                                                 result: item.name
                                                }
                                    });
              },
    showResult: function(value, data)
                {
                    alert("ShowResult");
                    json_data = jQuery.parseJSON( value );
                    for(i=0;i< json_data.objects.length;i++)
                    {
                        alert(json_data.objects[i]);
                    }
                    return value;
                }
});

0 个答案:

没有答案