我回來的1一個QuerySet jQuery和我的JQuery看起來像這樣解析Django的查詢集使用AJAX
<script>
$(document).ready(function(){
$("#search_form").submit(function(event)
{
event.preventDefault();
$.ajax({
type: "POST",
url: "object/search/",
processData: false,
dataType: "json",
success: function(data){
$.each(data, function(key, value){
alert(key + ': ' + value);
});
}
});
});});
</script>
警報會出現,但都返回0:[對象的對象。我想顯示正在返回的對象模型的名稱屬性。就像使用object.name一樣。我真的陷入了困境,你對解決這個問題的幫助表示讚賞。
的代碼,我的看法是:
if request.is_ajax():
if request.method == 'POST':
format = 'json'
mimetype = 'application/json'
o = Object.objects.filter(name__icontains="bin")
data = serializers.serialize(format, o)
return HttpResponse(data, mimetype)
我只返回1個對象與此查詢,但它的類型是查詢集的。
編輯。這是返回時的數據。
>>> o
[<Object: Bin Ber>]
>>> data = serializers.serialize(format, o)
>>> data
'[{"pk": 1, "model": "objects.object", "fields": {"name": "Bin Ber", "roof": 3, "depth": [3], "user": 1, "created_when": "2011-08-16 03:11:36", "shared": false, "projects": [1], "description": null}}]'
嘗試查看'數據'槽'console.log(數據);'。在那裏你應該能夠看到,你必須訪問存儲在'value'中的對象。可能value.name – GNi33
張貼您的django代碼 –
沒有看到你創建數據的視圖你很難知道這裏發生了什麼 – MattoTodd