我正在创建一个向帖子添加注释的表单,它没有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>
答案 0 :(得分:1)
<form>
元素正在使用GET
发送请求,而您的服务器端代码需要GET
个值。但是,您的AJAX请求正在使用POST
。您需要从
type: 'POST'
到
type: 'GET'
或者您可以完全省略该属性,因为jQuery的默认设置是使用GET
。
或者,您可以按原样保留AJAX方法并修改Django代码以接收POST变量。