2017-02-12 57 views
1

我得到一個「頁面不爲錯誤」爲AJAX請求應該從Django的視圖獲取數據從AJAX調用上Django的看法

Projectboard/dashboard.html

GET請求錯誤404
<form action="view"> 
    <br> 
Select your favorite fruit: 
<select id="mySelect"> 
    <option value="apple" selected >Select fruit</option> 
    <option value="apple">Apple</option> 
    <option value="orange">Orange</option> 
    <option value="pineapple">Pineapple</option> 
    <option value="banana">Banana</option> 
</select> 
</form> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("#mySelect").change(function(){ 
     selected ="apple"; 
     $.ajax({ 
      type: 'GET', 
      dataType: 'json', 
      contentType: 'application/json; charset=utf-8', 
      url: '/projectboard/view/', 
      data: { 
        'fruit': selected 
        }, 
      success: function(result) { 
        document.write(result) 
        } 
    }); 
    }); 
}); 
</script> 

projectboard/urls.py 從django.conf.urls輸入網址,包括

from . import views 

    urlpatterns = [ 

url(r'^disp.html$', views.index2, name='index2'), 
url(r'^view/(?P<id_remedio>\w+)/$', views.view, name='view'), 
url(r'view$', views.view, name='view') 
] 

views.py

from django.http import HttpResponse 


    def view(request): 
    data="bleh" 
    if request.method == 'GET': 
     print (request.body) 
    data = request.body 
    return HttpResponse(json.dumps(data)) 

我得到的錯誤是

GET http://127.0.0.1:8000/projectboard/view/?fruit=apple 404 (Not Found) 
+0

你可以打開這是你的瀏覽器的URL http://127.0.0.1:8000/projectboard/view /?fruit = apple'嗎? – inlanger

+0

不。它說找不到頁面。但我已經在projectboard/urls.py – ARUNIMA

回答

0

好像你的URL模式是錯誤的。試圖改變它這樣的事情:

from . import views 

urlpatterns = [ 
    url(r'^disp.html$', views.index2, name='index2'), 
    url(r'^view/(?P<id_remedio>\w+)/$', views.view, name='view'), 
    url(r'^view/$', views.view, name='view') 
] 

這是否工作?

+0

中指定了url現在它說'TypeError at/projectboard/view/ b''不是JSON serializable' – ARUNIMA

+0

至少現在已經到達視圖,但看起來像沒有得到數據。我不知道你的觀點正在嘗試做什麼。但要獲得'水果'參數。嘗試: 'DEF視圖(請求): 如果request.method == 'GET': 水果= request.GET.get( '水果') 打印 '果爲%s' %水果 返回HttpResponse(json.dumps(fuit))' 現在由您來正確處理數據和響應:) –

+0

是的。有效。謝謝 – ARUNIMA