返回列表 發帖

jqery 讀 python 的dictionary

請問各位
在後端將查詢結果存成python的 dictionary 並轉成 json格式
def ajax(request):
     a = mymodels.objects.all()[0]
     result = {}
     result['name'] = a.name
     result['age'] = a.age
     result = simplejson.dumps(result)
     return HttpResponse(result)

而在前端使用$.getJSON 讀取並呈現
$.getJSON("/rpc",function(json){
                       for(i=0;i<json.length;i++){
                       $(".containtest").append("<li>"+json[i].name+"<ul><li>"
                                           +json[i].age+</li></ul></li>);
                       }
                     
             });

麻煩請告知問題所在?

目前看到的是 append() 裡面的標籤排列組合怪怪的,是可以運作,但不太符合語意。
此外有看到什麼錯誤訊息嗎?
To infinity and beyond!

TOP

並沒有出現任何的錯誤~"~很正常

$.get("/rpc",function(json){
                       for(i=0;i<json.length;i++){
                       $(".containtest").append("<li>"+json+"</li>"
                                           );
                       }
                     
             });

如果改成上面的傳遞會正常的出現以下字串
{"name":XXX,"age":XXX}

TOP

這又讓我回想起
http://jsgears.com/thread-303-1-1.html

你所說的json的格式
var j = [{name:"aa", text:"hello"},{name:"bb", text:"world"}];

跟我用$.get 呈現出來的字串好像不依樣~
不知道這樣看是否正確

TOP

喔,因為你帶給前端的值只有一組,並非 array
直接看你的 python 輸出結果即可得知。
To infinity and beyond!

TOP

所以我想他輸出因該是個字串...
可否告知因該如何修改...

TOP

不是字串的關係,是你提供的值只有一組,非 array
{"name":XXX,"age":XXX}
array 的話會是這樣的字串:
[
  {"name":XXX,"age":XXX},
  {"name":XXX,"age":XXX}
]
To infinity and beyond!

TOP

非常感謝~!!
我在試看看

TOP

返回列表 回復 發帖