Uncaught RangeError:在buildParams超出最大调用堆栈大小

问题描述 投票:0回答:1

我找不到错误在哪里。请帮助

提交表单时,我在控制台中看到以下错误

 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>

高级感谢

javascript jquery django ajax ajaxform
1个回答
0
投票

发送数据时的问题。

[当我使用JSON.stringify发布数据时并接受json.loads(request.POST.get('frm'))表示一切正常

Jquery

 <script type="text/javascript">
        $('#messageform').on('submit',function(e){
                e.preventDefault();
                var frm = { 'user_id':$('#user_id').attr('value'),'text':$('#form_message').val()};
                frm = JSON.stringify(frm);
                $.ajax({
                    type: 'POST',
                    url: "message/message_form/",
                    dataType: 'json', 
                    data: { csrfmiddlewaretoken: "{{ csrf_token }}",'frm':frm},
                })
           });
    </script>

views.py

def post(self, request):
        dictionary = json.loads(request.POST.get('frm'))
        print('=================',dictionary)
        u = get_object_or_404(User,pk=dictionary['user_id'])
        msg = message.objects.filter(sender=request.user).filter(receiver=u).all() | message.objects.filter(sender=u).filter(receiver=request.user).all()
        u = message.objects.create(sender=request.user,receiver=u,text=dictionary['text'])
        #if request.user != u and u.objects.filter(receiver__sender=request.user,receiver__receiver=u,receiver__read=False).exists :
        #    notify.send(request.user, recipient=u, verb="message you please read in message box",public=False)
        # msg = message.objects.filter(sender=request.user).filter(receiver=u).all() | message.objects.filter(sender=u).filter(receiver=request.user).all() 
        msg = dictionary['text']
        data = { "message":msg}
        return HttpResponse(json.dumps(data), content_type='application/json')
© www.soinside.com 2019 - 2024. All rights reserved.