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