2011-04-05 35 views
0

我有以下對象查詢表格後,將各種物體放在以下objarr.How在UI檢索這些值的表中的javascript檢索模板JSON值

from django.core.serializers import serialize 
json = serialize("json", objarr) 
logging.debug(type(json)) 
response_dict.update({'objarr' : (json) }) 

return HttpResponse(simplejson.dumps(response_dict), mimetype = 'application/javascript') 

Logging.debug給以下

{'obj_arr': '[{"pk": 56, "model": "upload_info", "fields": {"emp_id": 13, "import_flag": 1, "resource": null, "feedback": "some feedabck", "hint": "test", "time": null, "created_by": 145, "access": 0, "keywords": "test1,test9", "type": 4, "error_flag": 0, }}, {"pk": 1156, "model": "upload_info", "fields": {"emp_id": 13, "import_flag": 1, "resource": null, "feedback": "some feedabck", "hint": "test", "time": null, "created_by": 145, "access": 0, "keywords": "test1,test9", "type": 4, "error_flag": 0, }}] } 

在我嘗試要訪問的emp_id值的UI,我怎麼辦呢

function retrieve_data(formid) 
{ 
    var form = $(formid); 
    form.ajaxSubmit({ 
    dataType: 'json', 
    success: function (data) { //Data is the rendered oject of resposne_dict 
    if((data) 
    { 
    alert(load_flag); 
    How to print emp_id,error_flag and other details here 
    } 
    } 
}) ; 
} 

回答

0

你需要下載json2.js file並將其添加到您的應用程序

在響應試試這個

if((data) 
{ 
    var response=eval("("+JSON.stringify(data)+")"); 
    for(var i=0;i<esponse.obj_arr[0].fields;i++){       
    var emp= response.obj_arr[0].fields[i].emp_id 
    } 
} 

您將獲得在可變EMP EMP_ID的值..

同樣爲他人做

response.obj_arr[0].fields[i].import_flag 
response.obj_arr[0].fields[i].resource 
response.obj_arr[0].fields[i].feedback 

,並在可變分配他們...

+0

是否有其他變通的這個.. – Naveen 2011-04-05 11:41:49

+0

@Naveen如果你想使用JSON然後我不知道除此之外的方法...但你爲什麼要解決這個問題?這有什麼問題? – 2011-04-05 11:48:57

1

您也可以嘗試下面的代碼,以使這項工作:

String.prototype.toArr = function() { 
    eval("var obj = " + this); 
    return obj ? obj : []; 
}; 
function retrieve_data(formid){ 
    var form = $(formid); 
    form.ajaxSubmit({ 
    dataType: 'json', 
    success: function (data) { 
    if(data){ 
    data = data.toArr(); 
    alert(load_flag); 
    alert(data['fields']["emp_id"]); 
    // And likewise you can access all detail 
    } 
    } 
}); 
} 

希望這對你的作品.. :)