【发布时间】:2017-10-10 14:08:09
【问题描述】:
我正在创建一个博客只是为了练习,我想将所有通知标记为当用户查看通知时看到的,如果我转到 url,这是有效的,但是当我使用 ajax 时没有任何反应
javascript:
<script>
$(document).ready(function() {
$("#testb").click(function(event){
$.ajax({
type:"POST",
url:"{% url 'seen' request.user.username %}",
success: function(){
confirm('it worked')
}
});
return false;
});
});
</script>
网址
url(r'functions/user/(?P<username>\w+)/seen', views.seen, name='seen')
查看:
def seen(request, username):
nat = Nat.objects.filter(toUser=username)
nat.update(show=False)
return HttpResponse("test")
【问题讨论】:
-
打开浏览器的调试工具。客户端代码中实际的
url值是多少?开发控制台有错误吗? JavaScript 代码是否已执行?是否发出了 AJAX 请求?服务器的响应是什么? -
感谢您的回复,网址正确,django 服务器控制台在 seen url 处未显示任何活动
-
"the url is right"- 您是假设,还是通过调试确认?当您执行该调试时,上述评论中提出的各种其他问题的答案是什么? -
可能需要在数据发布上使用 csrf。首先获取 csrf:“csrf = $('input[name=csrfmiddlewaretoken]').val();”。在ajax上发送数据参数后。 $.ajax({ type:"POST", data: {csrfmiddlewaretoken: csrf}, ... });
标签: javascript jquery ajax django