Как получить данные, переданные обратно в Response с помощью AJAX Jquery? - PullRequest
1 голос
/ 21 января 2011

Вот мой POST:

$("#checkin-button").click(function() { 
  var mid = $("input#mid").val();
  var dataString = 'mid='+mid;  
  $.ajax({  
    type: "POST",  
    url: "/game-checkin",  
    data: dataString,  
    success: function() {  
      $('#checkin-form').html("<div id='message'></div>");  
      $('#message').html("<h2>You are checked in!</h2>");  
    }  
  });  
return false;
});  

Я отправляю обратно строку JSON и хочу использовать ее в моем шаблоне Django.Как мне захватить этот ответ для отображения в шаблоне?

Ответы [ 3 ]

2 голосов
/ 21 января 2011

Из API

success (data, textStatus, XMLHttpRequest) Функция

Функция, вызываемая в случае успешного выполнения запроса.Функция получает три аргумента: Данные, возвращаемые с сервера, , отформатированные в соответствии с параметром dataType;строка, описывающая статус;и объект XMLHttpRequest (доступен с версии jQuery 1.4).Это Ajax-событие.

Я думаю, вам придется использовать parseJSON () для его преобразования.

1 голос
/ 21 января 2011

Вы можете просто сделать это:

$.post("/game-checkin", {mid: mid }, function(data){
  //response in json format. Example: data.something
}, "json");
0 голосов
/ 21 января 2011

Используйте эту функцию в качестве обратного вызова:

success: function(response) {
    alert(response);
}

Ответом будет то, что возвращает ваш сервер, но в виде текста. Если вам нужно эффективно использовать этот JSON в Javascript, вы должны использовать функцию eval () следующим образом: eval ('(' response +) '); и он оценит выражение JSON, чтобы вы могли присвоить его объекту, подобному этому:

success: function(response) {
    var responseObj = eval('(' + response + ')');
    // use responseObj here
}

Я не знаю о Django, но именно так вы получаете ответ и оцениваете его как JSON.

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