2017-05-15 174 views
0

在Django中,我試圖使用ajax來獲取json。在做之前,我會嘗試輸出一個通用字符串而不是json。但是,無論我如何嘗試,數據都無法正確打印。 result.html中的字符「Good」正常輸出。我以爲我錯誤地使用了網址,所以我嘗試了幾種方法,並沒有奏效。Django:ajax響應不顯示任何內容

我將不勝感激,如果你可以看看代碼,並讓我知道哪裏出了問題。

這裏是我的代碼:

result.html

<!DOCTYPE html> 
<html> 
<head> 
<title>Hello Bubble Chart</title> 
<meta charset="utf-8"> 
</head> 
<body> 

<h1> Good</h1> 
<hr> 
<script src="http://code.jquery.com/jquery-lastest.min.js"></script> 
<script type="text/javascript"> 

$.ajax({ 
    type: "GET", 
    //dataType: "json", 
    url: "/help/", 
    data: {}, 
    success: function(response){ 
     alert(data); 
     $("body").append(data); 
    } 
}); 
</script> 
</body> 
</html> 

views.py

def json_data(request): 
    if request.is_ajax(): 
     message = "Yes, AJAX!" 
    else: 
     message = "Not AJAX" 
return HttpResponse(message) 

urls.py

urlpatterns = [ 
    url(r'^inputTest/$', views.input_V, name='input_V'), 
    url(r'^inputTest/result/$', views.result, name='result'), 
    url(r'^inputTest/process/$', views.process, name='process'), 
    url(r'^inputTest/help/', views.json_data, name='json_data'), 
    url(r'^admin/', admin.site.urls), 
] 
+0

嘗試將'url:「/ help /」,'更改爲'url:「{%url'json_data'%}」,' –

+0

在控制檯中查看請求所說的內容。 – doniyor

+0

其實,'url:「/ help /」'等於'url:「{%url'json_data'%}」'。感謝幫助我。 –

回答

1

你的觀點應該是這樣的,

def json_data(request): 
    if request.is_ajax(): 
     message = "Yes, AJAX!" 
    else: 
     message = "Not AJAX" 
    return JsonResponse(dict(message, message)) 

此外,您的Ajax請求應該是,

如果您對結果來看,

$.ajax({ 
    type: "GET", 
    url: "/help/", 
    success: function(data){ 
     alert(data); 
     $("body").append(data); 
    } 
}); 
+0

我檢查了控制檯,'csrf_token'是問題所在。當我解決這個問題時,它工作得很好。感謝幫助我。 :) –

0

第一要解決的問題是在jQuery的CDN網址中的拼寫錯誤 - 它應該是:

http://code.jquery.com/jquery-latest.min.js 

http://code.jquery.com/jquery-lastest.min.js 

...latest......lastest...

沒有jQuery的ajax調用沒有工作的機會。

+0

我很錯誤...:<感謝幫助我。 –