【问题标题】:Retrieve json value in templates在模板中检索 json 值
【发布时间】:2011-07-29 20:28:35
【问题描述】:

我从一个表中查询了以下对象,然后将各种对象放在下面的 objarr 中。如何在 javascript 中的 UI 中检索这些值

 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, }}] }

在 UI 中我尝试访问 emp_id 的值,我该怎么做

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
  }
  }
 } )   ;
}

【问题讨论】:

    标签: javascript jquery python json


    【解决方案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
       }
      }
     });
    }
    

    希望这对你有用.. :)

    【讨论】:

      【解决方案2】:

      您需要下载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
      

      并将它们分配到一个变量中...

      【讨论】:

      • @Naveen 如果您想使用 JSON,那么我不知道除此之外的其他方法...但是您为什么要解决此问题?这有什么问题?
      猜你喜欢
      • 2019-07-29
      • 1970-01-01
      • 2016-10-06
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      • 2014-08-23
      • 1970-01-01
      相关资源
      最近更新 更多