Как получить данные из переменной «data» в jQuery и Django - PullRequest
0 голосов
/ 26 июня 2011

Я думаю, что это выглядит примерно так:

На мой взгляд:

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 ]

1 голос
/ 26 июня 2011

если данные являются объектом json и установлены правильные заголовки, вы можете получить доступ к их свойствам, используя точку:

data.points

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

Я не знаю, какова точная структура «данных», но вы можете получить ее из вашего console.log (data);

EDIt - если данные имеют структуру, которую вы указали в комментарии, вы можете получить доступ к точкам, подобным этому:

 alert(data[0].fields.points);
0 голосов
/ 26 июня 2011

добавить dataType: 'json' к вашему вызову .ajax.

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

затем его jut data.points в вашей функции успеха или, возможно, data.field.points. Я не могу сказать из вашего поста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...