为什么帖子什么都不做

时间:2011-03-29 12:55:05

标签: jquery ajax django post

大家好! 我正在写一个简单的django应用程序。其中一个页面上有脚本,可以按下按钮并使用ajax帖子。 问题是:post方法不会导致执行服务器代码,只是每次都会执行错误函数。

脚本:

<script type="text/javascript">
    (function($) {
        $(document).ready(function(){
            {% for obj in cl.result_list %}
                $('#done_{{ obj.pk }}').click(function() {
                    if ($(this).html().indexOf("icon-yes") != -1) {
                        $action = "no";
                    }
                    else {
                        $action = "yes";
                    }
                    $.ajax({
                                type: "POST",
                                url: "/on_hold_done/done/" + $action + "/{{ obj.pk }}/",
                                success: function(response) {
                                    alert("success")
                                },
                                error: function(response) {
                                    alert("error")
                                }
                            })
                });
            {% endfor %}
        });})(django.jQuery);
</script>
在urls.py中

(r"^on_hold_done/(on_hold|done)/(yes|no)/(\d*)/$", "todo.views.on_hold_done")
在views.py中

@staff_member_required
def on_hold_done(request, mode, action, pk):
    """simple code here"""
    return HttpResponse('')

1 个答案:

答案 0 :(得分:0)

如果您正在使用Django 1.3,请注意所有AJAX请求现在都受到跨站点请求伪造保护,因此您需要添加一些额外的JS以自动在您的ajax提交中包含CSRF令牌。 See the docs here