【发布时间】:2020-10-02 05:19:53
【问题描述】:
我找不到哪里出错了。请帮忙
当我提交表单时,控制台出现以下错误
Uncaught RangeError: Maximum call stack size exceeded at buildParams
我看到了不同的答案,但它们并没有帮助我找到错误
jQuery
<script type="text/javascript">
var frm = $('#message-form');
frm.on('submit',function(e){
e.preventDefault();
$.ajax({
type: frm.attr("method"),
url: "message/message_form/",
dataType: 'json',
data: { csrfmiddlewaretoken: "{{ csrf_token }}", frm:frm},
})
.done(function(response){
console.log(response.message)
});
});
</script>
HTML
<div class="fixed-bottom">
<form id="message-form" user_id="{{u.id}}" method="POST">
<input type="hidden" id="user_id" name="user_id" value="{{u.id}}">
{% csrf_token %}
<div class="container">
<div class="row">
<div id="text" class="col-10">
{{ msgform.text }}
</div>
<div class="col-1">
<button id="submit" class="btn" type="submit"><img height="30px" src="/static/img/send-button.png" alt="send"></button>
</div>
</div>
</div><br>
</form>
</div>
Thanx 进阶
【问题讨论】:
-
frm:frm应该做什么?您正在尝试提交一个完整的表单(包装在一个 jQuery 对象中)... -
对不起,如果它是非常基本的。我对
javascript很陌生。我制作了变量,以便我可以从后端访问..我犯了任何错误。 . -
@Andreas 当我尝试
frm:frm.serialize()而不是frm:frm我收到此错误TypeError: 'method' object is not subscriptable
标签: javascript jquery django ajax ajaxform