2013-05-07 39 views
0

我試圖用jQuery和Django的服務器進行交互,但我在我的Chrome控制檯收到此:jQuery來讓Ajax請求Django的

POST http://127.0.0.1:8000/rate/ 500 (INTERNAL SERVER ERROR) jquery.min.js:6 
x.support.cors.e.crossDomain.send jquery.min.js:6 
x.extend.ajax jquery.min.js:6 
x.(anonymous function) jquery.min.js:6 
(anonymous function) jquery.js:14 
x.event.dispatch jquery.min.js:5 
y.handle 

這從我的終端:

rating = request.POST.get['rating'] 
TypeError: 'instancemethod' object is not subscriptable 

模板:

{% extends "base.html" %} 
{% block content %} 

    <form action="#" id="rate-form"> 
     {% csrf_token %} 
     <input type="radio" name="rating" value="like">Like<br> 
     <input type="radio" name="rating" value="dislike">Dislike 
     <input type="submit" value="Rate"> 
    </form> 

{% endblock %} 

的jQuery:

$(document).ready(function(){ 
    $('#rate-form').submit(function(e){ 
     $.post('/rate/', $(this).serialize(), function() { 
      alert('Submitted'); 
     }); 
     e.preventDefault(); 
    }); 
}); 

瀏覽:

def test(request): 
    rating = request.POST.get['rating'] 
    html = "Your rating is %s" % rating 
    return HttpResponse(html) 

和我 「/速度/」 URL指向測試視圖。

回答

1

這與Ajax或jQuery無關,它是一個Python錯誤。 get是一種方法:您可以執行request.POST['rating']request.POST.get('rating')

+0

謝謝。在我看來,我仍然沒有從該表單中獲取我的數據,但我現在也沒有收到任何錯誤。有任何想法嗎? – user2270029 2013-05-07 15:16:26

+0

不是。您認爲視圖中「評級」的價值是什麼? – 2013-05-07 15:25:22

+0

所以我做了一些測試,我的表單頁面被加載到用戶正在查看的頁面的一部分,而不更新整個頁面。當我將表單放在主模板上時,它可以正常工作,但是我無法訪問諸如帖子ID在表單中隱藏的內容。思考? – user2270029 2013-05-07 15:52:00