我无法理解为什么我的视图对request.is_ajax返回false
这是相关代码
在views.py
def ajax_test(request):
if request.is_ajax():
message = "This is an Ajax message"
else:
message = "Ajax error"
return render_to_response("ajax.html",
context_instance=RequestContext(request,{'message':message}))
在ajax.html中
$(document).ready(function(){
$('#click_me').bind('click',function(){
$.get('#');
});
});
我有一个模板变量{{ message }}
当我点击click_me链接时,它应该更新为“This is a Ajax message”。但那并没有发生。我已经阅读了所有相关问题,但无法弄清楚出了什么问题。
谢谢
答案 0 :(得分:0)
也许ajax请求获得了3xx重定向响应,X-Requested-with
标头消失了?
目前尚不清楚$.get('#')
的作用。
这是一个常见的错误。
答案 1 :(得分:0)
我不知道我是否可以回答我自己的问题,但得到了解决,是的,我没有想法, $ .get('#')的作用是什么,我只是试图通过这样做访问相同的URL,这是它的工作方式
$(document).ready(function(){
$('#click_me').bind('click',function(){
$('#insert_here').load("/ajax_test/ #insert_here");
return false;
});
和相关的html(对不起,我不知道如何在这个编辑器中包含html代码)
在p元素中,{{ message }}
的id为'insert_here',而id为click_me和的标记
href属性'/ ajax_test /',
因此,当我访问url'/ ajax_test /'时,我得到“Ajax错误”,当我点击链接时,我得到“这是一个Ajax消息”,如果我不使用return false,则返回“Ajax错误”。
我真的不知道返回false会做什么,感谢回复