2011-04-05 125 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 
    } 
    } 
}); 
} 

希望这对你的作品.. :)