使用jquery变量获取特定的ajax请求
目前,当前代码在js警报中呈现出预期的使用jquery变量获取特定的ajax请求,jquery,python,ajax,django,Jquery,Python,Ajax,Django,目前,当前代码在js警报中呈现出预期的Job.objects.all()。但我希望能够将var jobnum传递到我的视图中,并基于此筛选Job.objects。json中有jobnum键及其值。我希望能够将与jobnum相关的所有数据拉入ajax请求 我尝试过做类似于a=Job.objects.GET(jobnum=jobnum) 还有a=Job.objects.GET(jobnum=request)和许多我想不起来的东西。我得到的最接近的结果如下所示: 我的看法是: def api(requ
Job.objects.all()
。但我希望能够将var jobnum
传递到我的视图中,并基于此筛选Job.objects。json中有jobnum键及其值。我希望能够将与jobnum相关的所有数据拉入ajax请求
我尝试过做类似于a=Job.objects.GET(jobnum=jobnum)
还有a=Job.objects.GET(jobnum=request)
和许多我想不起来的东西。我得到的最接近的结果如下所示:
我的看法是:
def api(request):
a = Job.objects.all()
data = serializers.serialize('json', a)
data = json.loads(data)
if request.is_ajax():
return HttpResponse(data)
else:
data = serializers.serialize('json', a)
return HttpResponse(data)
我的jquery:
$('.test').click(function(){
var jobnum = $(this).data('jobnum');
console.log(jobnum)
$.ajax({
url: "api",
type: 'get', //this is the default though, you don't actually need to always mention it
data: {'jobnum':jobnum},
success: function(data) {
alert(data);
},
failure: function(data) {
alert('Got an error dude');
}
});
});
要获取基于jobnum的所有作业,必须使用user.filter,因为.get只返回一个对象 所以在你的代码中添加
jobnum = request.GET.get('jobnum')
job_list = Job.objects.filter(jobnum=jobnum)
要序列化数据,只需执行以下操作:
job_json = job_list.values()
因此,您的视图将如下所示:
defapi(请求):
jobnum=request.GET.GET('jobnum')
job\u list=job.objects.filter(jobnum=jobnum)
json_data=job_list.values()
返回HttpResponse(json_数据)
到目前为止,您遇到了什么错误?没有数据,url不工作,Django请求时出错?我得到错误:异常类型:AttributeError
异常值:'WSGIRequest'对象没有属性'data'@单击此处,然后使用。@DhiaTN注意他的jQuery.ajax()正在指定{Type:'get}
@DhiaTN但他是,请求。GET对他有用;-)有关如何正确设置内容类型的信息,请参阅。