0

我不明白为什么我的视图为 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 链接时,它应该更新为“这是一条 Ajax 消息”。但这并没有发生。我在这里阅读了所有相关问题,但无法弄清楚出了什么问题。谢谢

4

2 回答 2

0

也许 ajax 请求得到一个 3xx 重定向响应,并且X-Requested-with标头消失了?

目前尚不清楚是什么$.get('#')

这是一个常见的错误。

于 2012-11-25T18:54:12.867 回答
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 错误”。我真的不知道 return false 做了什么,感谢您的回复

于 2012-11-26T03:58:28.973 回答