gpt4 book ai didi

jquery - 使用jquery变量获取特定的ajax请求

转载 作者:太空宇宙 更新时间:2023-11-03 17:08:57 24 4
gpt4 key购买 nike

截至目前,当前代码按照预期在 js 警报中呈现 Job.objects.all() 。但我希望能够将 var jobnum 传递到我的 View 中,并根据此过滤 Job.objects.all 。 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 的所有作业,您必须使用 .filter,因为 .get 仅返回一个对象

所以在你的代码中添加

jobnum = request.GET.get('jobnum')
job_list = Job.objects.filter(jobnum=jobnum)

要序列化您的数据,您只需执行以下操作:

job_json = job_list.values()

所以你的 View 将如下所示:

def api(request):
jobnum = request.GET.get('jobnum')
job_list = Job.objects.filter(jobnum=jobnum)
json_data = job_list.values()
return HttpResponse(json_data)

关于jquery - 使用jquery变量获取特定的ajax请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34319492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com