Javascript django request.is_ajax返回false
我不明白为什么我的视图在请求时返回false 以下是相关代码Javascript django request.is_ajax返回false,javascript,python,django,jquery,Javascript,Python,Django,Jquery,我不明白为什么我的视图在请求时返回false 以下是相关代码 in 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=Requ
in 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中
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}))
$(document).ready(function(){
$('#click_me').bind('click',function(){
$.get('#');
});
});
我有一个模板变量{{message}}
,当我点击click\me链接时,它应该被更新为“thisaajax消息”。但事实并非如此。我已经阅读了这里所有的相关问题,但不知道出了什么问题。
谢谢也许ajax请求得到了3xx重定向响应,而
X-Requested-with
头不见了
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}))
尚不清楚$.get('#')
的作用
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}))
这是一个常见的错误。我不知道我是否能回答我自己的问题,但问题已经解决了,是的,我没有主意,
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}))
$.get(“#”)的作用是,我只是尝试通过这样做来访问同一个url,下面是它的工作原理
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}))
$(document).ready(function(){
$('#click_me').bind('click',function(){
$('#insert_here').load("/ajax_test/ #insert_here");
return false;
});
以及相关的html(很抱歉,我不知道如何在此编辑器中包含html代码)
在p元素中有一个id为“insert_here”的{{message}
和一个id为“click_me”的a标记
href属性“/ajax\u test/”,
因此,当我访问url“/ajax\u test/”时,我会得到“ajax错误”,当我单击链接时,我会得到“这是一条ajax消息”,如果我不使用return false,它会返回“ajax错误”。
我真的不知道返回false的作用是什么,感谢您的回复使用开发人员工具确保请求与
HTTP\u X\u REQUESTED\u一起发送,
头包含'XMLHttpRequest'
您说的“但这不会发生”。发生了什么事?你看到文本“Ajax错误”了吗?我已经在firefox(安装了LiveHttpheaders插件)中检查了Http头,我可以看到X-Requested-with头被设置为“XMLHttprequest”;是的,我总是看到“Ajax错误”,谢谢你有新的回复吗?$.get(“#”)到底做什么?也许浏览器确实从缓存中提取了页面?我确实得到了一个新的响应。为了说明这一点,我有一个模板ajax.html,其中有一个变量{message}和一个锚定标记,指向同一个url“/ajax_test/”,由我发布的视图呈现。当我访问url时,我会得到“ajax error”,这没关系,但我希望在单击链接时会得到“这是一条ajax消息”,相反,当我单击链接时,页面会重新加载并仍然显示“Ajax错误”,但这次我看到了一个新的响应,并且X-request-With被设置为XMLHttpResponse
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}))