Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript django request.is_ajax返回false_Javascript_Python_Django_Jquery - Fatal编程技术网

Javascript django request.is_ajax返回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

我不明白为什么我的视图在请求时返回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=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}))