使用form表单的action提交并接收后端返回的消息

使用form表单的action提交表单是同步提交的方式,会跳转页面,所以无法获取后端返回来到消息。这样描述或许没有太大感觉,如果我要通过表单的方式上传文件,并接收后台返回来的响应数据;这样说是不是就感同深受了呢。

  1. 在form标签上添加一个 target 属性,属性值指向 <ifream></ifream> 标签的name 属性。target 属性也就是当表单提交后,会自动跳转到 target 对应的地址上。这里表示提交表单后,跳转到ifream 层。
  1. 添加一个 <ifream></ifream> 标签,并添加行内样式使其为不可见状态(dispaly: none)
  1. 接收响应消息的 js 如下

    //提交申请单后接收响应消息
    ("iframe[name=iframeContent]").on("load", function() { var responseText = ("iframe")[0].contentDocument.body.innerHTML;
    const jsonResponse = JSON.parse(responseText);
    if (jsonResponse.code == 0) {
    layer.open({
    title: '提示', icon: '1', content: jsonResponse.msg, time: 2000, end: function () {
    window.close(); // 关闭表单页面
    }
    });
    } else {
    layer.alert(jsonResponse.msg, {
    title: '申请失败', icon: 5, time: 5000
    });
    }
    });

整体流程就是:当提交表单后,会自动跳转到 <form> 标签内 target 属性值对应的地址上,即在 ifream 层,这样返回的结果就存在了 ifream 层。通过监听 ifream 层的 load 事件,ifream 加载完成就会触发 load 事件,有数据就会获取。

相关推荐
yuanyxh2 小时前
macOS 应用 - 纯对话生成
前端·macos·ai编程
大家的林语冰2 小时前
ES5 凉凉,Babel 8 正式发布,默认不再编译为 ES5 和 CJS......
前端·javascript·前端工程化
光影少年3 小时前
react批量更新、同步/异步更新场景
前端·react.js·掘金·金石计划
假如让我当三天老蒯3 小时前
模块化:ES Module 与 CommonJS 的区别
前端·面试
用户40950115773173 小时前
Private Forge v2.0 发布:12大前端业务场景技能系统
前端
weedsfly4 小时前
异步编程全景与事件循环——彻底搞懂 JS 执行机制
前端·javascript
用户059540174464 小时前
AI Agent记忆测试踩坑实录:Mock骗了我一周,Mem0+pytest一招破局
前端·css
用户1733598075374 小时前
纯前端 PDF 数字签名实战:Vue 3 + pdf-lib 在浏览器里完成签名嵌入
前端·javascript
IT_陈寒5 小时前
SpringBoot自动配置的坑,我爬了三天才出来
前端·人工智能·后端
Avan_菜菜11 小时前
AI 能写代码了,为什么我反而开始要求它先写文档?
前端·github·ai编程