如何从jQuery和Django中的“data”变量中获取数据

时间:2011-06-26 13:32:37

标签: ajax django jquery

我觉得它有点像这样:

在我看来:

from django.core import serializers

后来......

data = serializers.serialize('json', MODEL.objects.filter(id=id), fields=('points'))
return HttpResponse(data)

在我的jQuery中:

$.ajaxSetup({
  dataType: "json"
});

$('#selector .selector_detail a').click(function() {
    var call_to = $(this).attr('href');

    $.ajax({
      url: call_to,
      type: "POST",

      complete: function() {
          console.log('Ajax Complete')
      },

      success: function(data) {
          points = data(fields.points)
          console.log('Ajax Successful')
          console.log(data);
     },

      error: function(xhr) {
          console.log('Whoops, something went wrong. XHR Response:' + JSON.stringify(xhr));
      },
    });

    return false;
});

我想要积分的价值,但我不知道如何把它弄出来。当我查看数据对象时,我可以在console.log中看到它。我错过了什么?

2 个答案:

答案 0 :(得分:1)

如果数据是json对象并且设置了正确的标题,则可以使用点访问它的属性:

data.points

data[0].points  //if points is an array
//this is not correct
data(fields.points);

我不知道“数据”的确切结构是什么,但您可以从console.log(数据)中获取它;

EDIt - 如果数据具有您在评论中列出的结构,则可以访问以下点:

 alert(data[0].fields.points);

答案 1 :(得分:0)

将dataType:'json'添加到.ajax调用中。

$.ajax({
  url: call_to,
  dataType: 'json',
  type: "POST",

然后它只是您的成功函数中的data.points,或者data.field.points。我无法从你的帖子中说出来。