2011-01-20 53 views
1

這裏是我的帖子:如何獲取使用AJAX Jquery在響應中傳回的數據?

$("#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的模板中使用它。如何捕獲該響應以在模板中顯示?

回答

2

API

成功(數據,textStatus, XMLHttpRequest的)功能

一個函數,如果請求成功 被調用。該函數獲得通過 三個參數:從服務器返回 的數據,根據 格式化爲'dataType'參數;描述狀態的字符串 ;和 XMLHttpRequest對象(自 jQuery 1.4起可用)。這是一個Ajax事件。

我想你必須用parseJSON()來轉換它。

0

使用此功能爲回調:

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

的響應將是你的服務器返回,而是作爲文本。如果你必須在Javascript中有效地使用這個JSON,你必須使用如下的eval()函數:eval('('+ response')');它會評估JSON表達,所以你可以把它分配給這樣一個對象:

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

我不知道Django的,但你這是怎麼得到的迴應並評估其作爲JSON。

+0

那麼響應將是JSON?這可以在我的模板中作爲變量「響應」嗎? – 2011-01-20 21:25:15

+0

閱讀我編輯的答案 – 2011-01-20 21:32:20

1

你可以簡單地這樣做:

$.post("/game-checkin", {mid: mid }, function(data){ 
    //response in json format. Example: data.something 
}, "json");