鱼C论坛

 找回密码
 立即注册
查看: 1191|回复: 2

django ajax提交form表单数据页面跳转问题

[复制链接]
发表于 2020-5-20 13:24:37 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 kylin121380 于 2020-5-20 13:25 编辑

点击提交后页面页面还是进行了跳转,请问哪里出了问题

html中ajax:
        $("#comment_form").submit(function(){
            // 更新数据到textarea
            CKEDITOR.instances['id_text'].updateElement();

            // 异步提交
            $.ajax({
                url: "{% url 'comment:comment_sub' %}",
                type: 'POST',
                data: $(this).serialize(),
                cache: false,
                success: function(data){
                    console.log(data);
                    if(data['status']=="SUCCESS"){
                        // 清空编辑框的内容
                        CKEDITOR.instances['id_text'].setData('');
                    }else{
                        // 显示错误信息
                        $("#comment_error").text(data['message']);
                    }                    
                },
                error: function(xhr){
                    console.log(xhr);
                }
            });
            return false;
        });

form:
                <form id="comment_form" action="{% url 'comment:comment_sub' %}" method="POST">
                        {% csrf_token %}
                        {% for field in comment_form %}
                                {{field}}
                        {%endfor%}
                        <input type="submit" value="评论" class="btn btn-primary pull-right">
                        <hr>
                </form>

后端views:
@csrf_exempt
def comment_sub(request):
    referer = request.META.get('HTTP_REFERER', '/')  # 跳转回原网页
    comment_form = CommentForm(request.POST, user=request.user)
    data = {}
    if comment_form.is_valid():
        comment = Comment.objects.create(
            article_comment=comment_form.cleaned_data['comment_content'],
            user=comment_form.cleaned_data['user'],
            article=comment_form.cleaned_data['bbs'],
        )
        comment.save()
        # return redirect(referer)
        data['status'] = 'SUCCESS'
        data['user'] = comment.user.username
        data['text'] = comment.article_comment
        data['comment_time'] = comment.date.strftime('%Y-%m-%d %H:%M:%S')
    else:
        # return render(request, '404.html', {'message': comment_form.errors, 'redirect_to': referer})
        data['status'] = 'ERROR'
    return JsonResponse(data)

本帖被以下淘专辑推荐:

  • · django|主题: 61, 订阅: 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-20 21:28:55 | 显示全部楼层
提交后会自动跳转到原本指定页面,页面信息是jsonresponse返回的信息。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-20 22:42:53 | 显示全部楼层
textarea的id写错了CKEDITOR.instances['id_text'].updateElement();里面的id改成自己textarea的id就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-21 02:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表