大家好! 我正在写一个简单的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('')
答案 0 :(得分:0)
如果您正在使用Django 1.3,请注意所有AJAX请求现在都受到跨站点请求伪造保护,因此您需要添加一些额外的JS以自动在您的ajax提交中包含CSRF令牌。 See the docs here