【发布时间】:2016-02-08 07:29:03
【问题描述】:
我正在尝试使用 ajax 调用将动态创建的 JSON 数据从我的模板发送到视图。我能够通过 ajax 调用生成和传递 JSON 数据,但无法在视图中读取相同的数据。我阅读了很多关于此的文章和 stackoverflow 帖子,但对于这个简单的任务没有任何作用。下面是我的 Ajax 调用:
$(document).ready(function() {
$('#applybtn').click(function(){
var selectedpackages = [];
{% for package in packages %}
if($("input[name=package{{forloop.counter}}]").is(':checked')){
type = $("input[name=package{{forloop.counter}}]:checked").attr('id');
var Obj = {}
Obj['pkgid'] = {{package.id}};
Obj['type'] = type;
selectedpackages.push(Obj);
}
{% endfor %}
var mystring = JSON.stringify(selectedpackages);
$.ajax({
url:"/ApplyCode/",
type:"GET",
data:mystring,
dataType: "json",
contentType: "application/json",
success: function(data){
alert(data);
}
});
});
});
在上面给出的代码中,您可以忽略 for 循环部分,因为它只是遍历一些包并检查该页面上的用户选择了哪个包,并相应地生成一个字典以作为 JSON 对象传递。此外,我检查了 mystring 变量中生成的数据(使用 alert(mystring);),然后将其发送到查看,并且它具有所需的数据。
以下是我的观点的代码:
import json
def applycode(request):
context=RequestContext(request)
pkgid=""
if request.method=='GET':
selectedpackages = json.loads(request.body)
else:
pass
return HttpResponse(selectedpackages)
我确定在“selectedpackages”变量中获取 JSON 数据时我在这里遗漏了一些东西。我也尝试了很多其他方法,但没有任何效果。在这里,我只想获取数据,而不是想要访问相同的每个元素。任何帮助表示赞赏。
【问题讨论】:
标签: json ajax django django-views