【发布时间】:2018-10-19 21:07:48
【问题描述】:
我的客户正在将此 json 作为帖子传递给 django 服务器:
data={ 'supplier': supplier_name,
'date': date,
'payment':payment,
'materials':[{"name":name,"qtd":qtd,"price":price},
{"name":name,"qtd":qtd,"price":price},
{"name":name,"qtd":qtd,"price":price}]
}
我正在使用 push 来放材料:
data['materials'].push({"name":name,"qtd":qtd,"price":price});
我的 django 视图处理这样的数据:
supplier=request.POST.get('supplier')
date=request.POST.get('date')
当我尝试这样做时,材料内容为“无”:
materials=request.POST.get('materials')
如何在进一步的代码中使用列表?
Ajax 是这样发送的:
$.ajax({
type:"POST",
url:"{% url 'validate_purchase' %}",
data: data,
dataType: 'json',
success: function(data){
}
});
【问题讨论】:
-
这正是您的客户传递给 django 应用程序的内容 -
{"name":name,"qtd":qtd,"price":price} {"name":name,"qtd":qtd,"price":price}?看起来这不是有效的 JSON,您在materials数组中的} {之间错过了,。 -
@Chiefir 我错过了 "," 因为这只是为了举例说明,我正在使用 data['materials'].push({"name":name,"qtd":qtd,"price" :price}) 放数据
-
你应该展示你的JS中实际发送数据的部分。您是在
data字段中将其作为带有 JSON 的表单编码 POST 发送,还是直接作为 JSON POST 发送? -
已编辑,在 jquery 中使用 ajax