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

使用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

目前,当前代码在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(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对他有用;-)有关如何正确设置
内容类型的信息,请参阅。