1
我很新的Ajax和Django,我試圖發送一個簡單的ajax請求到一個叫'update'的函數。但是我也不希望發送請求時瀏覽器中的實際URL發生更改(即使使用ajax請求,示例www.website.com/page/也會保持不變)。基本上,當我嘗試提交ajax請求時,我從服務器收到403錯誤。我相信我的問題的一部分可能是在urls.py URL映射...發送Ajax請求到Django
這是我的Ajax請求:
$.ajax({
type : "POST",
url : "/page/update/",
data : {
data : somedata,
},
}).done(function(data){
alert(data);
});
這是認爲它應該得到:
def update(request):
if request.is_ajax():
message = "Yes, AJAX!"
else:
message = "Not Ajax"
return HttpResponse(message)
這是我的urls.py
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^update/$', views.update, name='update'),
)
非常感謝您的幫助。
我對錯誤和錯誤狀態進行了更深入的觀察,發送回帖時我需要包含 {%csrf_token%}。這個例子how to get POST data in django 1.3表明它被放置到一個表單中,但是我的請求只在一個點擊函數上調用
所以問題是什麼 ?有一件事 - 如果request.is_ajax()裏面的縮進是相當的關閉 – karthikr
我剛剛更新了這個問題,我基本上每次嘗試提交請求時都會收到404錯誤 – user1186173
因此,'/ page /'給出你'索引'視圖? – karthikr