Django:如何通过POST发送HTTP请求而不使用表单

时间:2014-08-06 19:59:54

标签: django http post

我的模板页面中有以下代码

<h4 id="upvote">
  <a href="/post/{{post.id}}/vote/1">Up</a>
</h4>
<h4 id="downvote">
  <a href="/post/{{post.id}}/vote/0">Down</a>
</h4>

目前,我没有使用表单,但我希望通过HTTP POST发送这些表单

我是否需要使用表单来执行此操作,或者可以在没有表单的情况下完成此操作?

1 个答案:

答案 0 :(得分:1)

通常我会使用jQuery及其post方法。这使得使用POST对服务器进行ajax调用,而无需重新加载页面。 (jQuery需要一点点学习,但因为它的快捷方式,它对于JavaScript更容易)

http://api.jquery.com/jquery.post/

$.ajax({
    type: "POST",
    url: "/post/{{post.id}}/vote/1",
    success: function(){
        //Do something here that lets the user know things worked out
    }
});

如果你不倾向于使用jQuery,你可以使用普通的JavaScript进行相同类型的调用,尽管它在我的意见中有更多的内容。

http://www.javascriptkit.com/dhtmltutors/ajaxgetpost2.shtml

无论哪种方式,这都可以应用于按钮的“onclick”事件,然后可以在返回给用户之前处理和处理响应。即让用户知道请求是成功还是失败。

编辑: 不知道为什么你需要一个帖子,因为所有数据都包含在URL中,并且没有任何内容作为标题的一部分发送,你可以简单地使用GET请求。