2017-04-03 57 views
0

我得到一個404錯誤AJAX調用在Django如何解決404錯誤在Django

這裏AJAX調用我的代碼: jQuery腳本:

$('#cluster-id').change(function(){ 
     $.ajax({ 
      url: '/ajax_demo/', 
      type: 'get', 
      dataType: 'json', 
      complete: function(jqXHR, textStatus){ 
       console.log("complete " + textStatus); 
      }, 
      success: function(data, jqXHR, textStatus){ 
       console.log("success " + data); 
      }, 
      error: function(jqXHR, textStatus, errorThrown){ 

       console.log("error: " + errorThrown); 
      } 
     }); 

我試圖讓(以JSON)數據形成這樣的功能:

from django.http import JsonResponse 
def ajax_demo(request): 
    cluster = request.GET.get('cluster', None) 
    data = { 
     'name' : 'abc' 
    } 
return JsonResponse(data) 

我已經設置了正確的網址也:

urlpatterns = [ 
    url(r'^$', views.main_page_demo, name = 'main_page_demo'), 
    url(r'^demo/', views.ajax_demo, name = 'ajax_demo'), 

    ] 

我是新來的AJAX和jQuery,我不知道是什麼問題。

根URL
urlpatterns =[ 

    url(r'^admin/', include(admin.site.urls)), 
    url(r'^$', include('app.urls', namespace = "mainPage")), 
+0

它應該是'url:'/ demo /','not'url:'/ ajax_demo /','。您必須輸入一個url,而不是url名稱('ajax_demo')。 –

+0

@nik_m進行更改,仍然 – user3287355

+0

@nik_m在問題 – user3287355

回答

0

你這裏有幾個明顯的錯誤。首先,你發佈到「/ ajax_demo /」,但你沒有那個URL;只有「/ demo /」。您確實要更改網址格式或您要發佈的網址。其次,您已經錯誤地包含了應用程序模式;不得使用包含「$」的終端。它應該是:

url(r'^$', include('app.urls', namespace = "mainPage")), 

第三,您沒有在您的請求中包含任何數據。你需要一個data鍵:

$阿賈克斯({ 網址: '/演示/', 類型: '得到', 數據:{ 「集羣」: 「值」} ...

+0

謝謝。我有點困惑,修復它。 – user3287355