django request.is_ajax返回false

时间:2012-11-25 13:32:47

标签: javascript python django jquery

我无法理解为什么我的视图对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”。但那并没有发生。我已经阅读了所有相关问题,但无法弄清楚出了什么问题。 谢谢

2 个答案:

答案 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会做什么,感谢回复