ajax没有使用django

时间:2017-10-12 08:17:32

标签: javascript jquery ajax django

我正在创建一个向帖子添加注释的表单,它没有ajax,因为ajax将表单数据发送为None。

ajax:

if ($yourBinding -match 'vEthernet[^,]+?,,storage')
{
   # do something
}
else
{
   # do something else
}

表单:

<script>
        $(function() {
            $("#myform").on("submit", function(e) {
                e.preventDefault();
                $.ajax({
                    url: $(this).attr("action"),
                    type: 'POST',
                    data: $(this).serialize(),
                    beforeSend: function() {
                        $("#message").html("sending...");
                    },
                    success: function(data) {
                        confirm('worked')
                    }
                });
            });
        });
</script>

观点:

<form action="{% url 'newcom' Post.id%}" id="myform">
    <div class="input-group">
        <input type="text" name="comment_body" class="form-control" placeholder="Leave a comment">
        <div class="input-group-btn">
            <button class="btn btn-success" id="message" type="submit">
                <i class="glyphicon glyphicon-send"></i>
            </button>
        </div>
    </div>
    <br>
</form>

1 个答案:

答案 0 :(得分:1)

<form>元素正在使用GET发送请求,而您的服务器端代码需要GET个值。但是,您的AJAX请求正在使用POST。您需要从

更改AJAX请求类型
type: 'POST'

type: 'GET'

或者您可以完全省略该属性,因为jQuery的默认设置是使用GET

或者,您可以按原样保留AJAX方法并修改Django代码以接收POST变量。