ajax实现添加数据

前端部分

javascript 复制代码
function bindBtnAddEvent() {
     $("#btnAdd").click(function () {

          $(".error_msg").empty();

          $.ajax({
               url: '/task/add/',
               type: 'post',
               data: $('#formAdd').serialize(),
               dataType: "JSON",
               success: function (res) {
                    if (res.status) {
                            alert("添加成功");
                            location.reload();
                   } else {
                            console.log(res.error);
                            $.each(res.error, function (name, data) {
                                console.log(name);
                                $("#id_" + name).next().text(data[0]);
                           })
                       }
                    }
                })
          })
    }

点击后,发送ajax请求 。以post方式向/task/add/地址发送表单数据。

python 复制代码
@csrf_exempt
def task_add(request):
    #print(request.POST)
    #校验
    form=TaskModelForm(data=request.POST)
    if form.is_valid():
        form.save()
        data_dict={"status": True}
        return HttpResponse(json.dumps(data_dict))
    print(type(form.errors))
    data_dict={"status": False,'error':form.errors}
    return HttpResponse(json.dumps(data_dict))

TaskModelForm是自定义的类

后台接收到数据,以TaskModelForm类接收POST请求发送的数据。

如果数据有效,保存到数据库,并给前段返回HttpResponse(json.dumps(data_dict)),其中

data_dict={"status":True}

如果无效,data_dict={"status": False,'error':form.errors} 向前端发送 HttpResponse(json.dumps(data_dict))

javascript 复制代码
success: function (res) {
    if (res.status) {
        alert("添加成功");
        location.reload();
    } else {
        console.log(res.error);
        $.each(res.error, function (name, data) {
            console.log(name);
            $("#id_" + name).next().text(data[0]);
        })
    }
}

请求发送过后,获取响应。

如果res.status=True,添加成功 并且刷新页面

否则,

相关推荐
AI多Agent协作实战派16 分钟前
AI多Agent协作系统实战(二十三):Agent读HEARTBEAT.md不读AGENTS.md——openclaw的文件加载之谜
前端·数据库·人工智能·uni-app
2601_955760071 小时前
如何用 Claude Opus 5 API 批量扩展长尾关键词和文章选题
前端·python·搜索引擎
KaMeidebaby1 小时前
卡梅德生物技术快报|bli亲和力检测gst:告别批量跑胶:BLI实时酶切监测技术加速GST融合蛋白下游流程优化
前端·网络·数据库·人工智能·算法
触底反弹2 小时前
🚀 删了数据刷新又回来?3 组件 × 4 回调 × 3 坑讲透 React 父子通信
前端·javascript·react.js
耳东小鹿3 小时前
对象常用方法
前端
程序员海军3 小时前
一个 AI 应用开发程序员的一天,都在屏幕前忙些什么?
前端·后端·程序员
程序员黑豆3 小时前
鸿蒙应用开发:Stack堆叠组件实战——实现微信消息角标效果
前端·harmonyos
夏幻灵3 小时前
浏览器原理深度解析:从输入 URL 到页面展现的全流程剖析
前端
闲猫4 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
带娃的IT创业者4 小时前
重新定义前端构建速度:深度解析 SWC 如何用 Rust 颠覆 JavaScript 工具链
前端·javascript·rust·前端构建·swc