繁体   English   中英

将对象数组传递给javascript

[英]Passing an array of objects to javascript

我正在尝试查看html形式的某些输入的一部分的对象的python列表:

$('input[name=my_array]').serializeObject()

我的输入标签将是这样的:

<input type="hidden" name="my_array" value="{{ my_array_of_objects }}">

但是我得到的是这样的:

[<object_type: an_object object>]

因此,我无法访问此对象的任何属性。 有没有一种方法可以将其转换为我可以查看的内容? 在以前的实例中,我已经能够遍历它们,并在我的HTML文件中访问它们的属性:

{% for o in my_array_of_objects %}
   <li> o.id, o.first_name, o.last_name </li>
{% endfor %}

那么,有没有类似的方式可以在javascript中访问此对象? 抱歉,这是菜鸟问题。

编辑:这是我要通过的示例。 我正在使用django rest框架,我的对象存储在SQLDB中的python类下,如下所示:

class my_object(models.Model):

  study_id = models.CharField(max_length = 30, blank = True)
  g1 = models.ForeignKey(G1)
  g2 = models.ForeignKey(G2)

  title = models.IntegerField(choices = TITLE_CHOICES)
  family = models.IntegerField(choices = FAMILY_CHOICES)

当我渲染某个页面时,我创建了我需要的这些对象的列表,我们就称其为my_list_of_objects 因此,在HTML表单中,我有一个输入:

<input type="hidden" name="my_list" value="{{ my_list_of_objects }}">

当我提交表单后尝试在JavaScript端引用此值时,我得到的只是一个列表

my_list_of_objects =[<my_object: my_object object>, <my_object: my_object object>, ...]

您不能将该对象转换为JSON对象并访问它。

JSON.parse($('input[name=my_array]').val());

我还是不明白如何创建对象列表。 (可能是因为我对Python不太了解)

顺便说一句,我建议您在服务器页面中将Python对象列表转换为JSON对象。

json.dumps(c.__dict__)

我从这里得到那条线。 然后,您也许可以在Java脚本中使用JSON.parse

试试JSON.serialize(my_array_of_objects)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM