美文网首页NodeJs
formData提交表单

formData提交表单

作者: 简小园 | 来源:发表于2019-06-28 19:39 被阅读0次
用form标签
<body>
  <form id="form1" action="http://localhost:8080/" method="post">
    用户:<input type="text" name="user" /><br>
    密码:<input type="password" name="pass" /><br>
    文件:<input type="file" name="f1" /><br>
    <input type="submit" value="提交">
  </form>
</body>
<script src="jquery.js" charset="utf-8"></script>
<script>
$('#form1').on('submit', function (){
  let formdata=new FormData(this);   // 通过这个表单构建FormData
  // 发送ajax请求(jQuery的ajax)
  $.ajax({
    url: this.action,
    type: this.method,
    data: formdata,
    processData: false,   // 阻止jQuery处理数据
    contentType: false   // 阻止修改contentType
  }).then(res=>{
    alert('成功');
  }, res=>{
    alert('失败');
  });

  return false;    // 阻止表单自己提交
});
</script>

同时后台服务器处理提交的数据,用multiparty

不用form标签
<body>
  <div id="div1">
    用户:<input type="text" id="user" /><br>
    密码:<input type="password" id="pass" /><br>
    文件:<input type="file" id="f1" /><br>
    <input id="btn1" type="button" value="提交">
  </div>
</body>
<script>
let oBtn=document.querySelector('#btn1');
oBtn.onclick=function (){
  // 创建FormData
  let formdata=new FormData();
  // 给表单添加页面输入的值
  formdata.append('username', document.querySelector('#user').value);
  formdata.append('password', document.querySelector('#pass').value);
  formdata.append('f1', document.querySelector('#f1').files[0]);

  // 发送ajax请求(原生的ajax)
  let xhr=new XMLHttpRequest();

  xhr.open('post', 'http://localhost:8080/', true);
  xhr.send(formdata);

  xhr.onreadystatechange=function (){
    if(xhr.readyState==4){
      if(xhr.status==200){
        alert('成功');
      }else{
        alert('失败');
      }
    }
  };
};
</script>

同时后台服务器处理提交的数据,用multiparty

后台
const http=require('http');
const multiparty=require('multiparty');

http.createServer((req, res)=>{
  let form=new multiparty.Form({
    uploadDir: './upload/'     // 上传到同级目录下的upload文件夹
  });
  form.parse(req);
  // 普通数据
  form.on('field', (name, value)=>{
    console.log('field:', name, value);
  });
  // 文件数据
  form.on('file', (name, file)=>{
    console.log('file:', name, file);
  });
  // 解析结束
  form.on('close', ()=>{
    console.log('完事儿');
  });
}).listen(8080);

相关文章

  • FormData

    表单,FormData 对象 表单概述 表单用来收集用户提交的数据,发送到服务器 表单提交 1. 提交 表单里...

  • formData提交表单

    用form标签 同时后台服务器处理提交的数据,用multiparty库 不用form标签 同时后台服务器处理提交的...

  • FormData和FileReader的使用介绍

    FormData 顾名思义就是表单数据,我们提交表单所用的数据。Html5里新加了formData对象,可以让我们...

  • 表单提交文件相关

    可以使用formData提交含有文件的表单 何时会使用到formdata,以及详细用法,请点击此网站 formDa...

  • 转为formData数据格式

    以前,浏览器与服务器的post通讯是通过表单进行提交的,通过form表单提交的数据,默认便是formData的格式...

  • 表单上传的几种方法

    使用form表单进行提交 使用FormData对象 使用jquery.form.js jquery.form.js...

  • nodejs基础3-数据通信:fetch,ajax2.0和web

    数据通信: ajax、跨域 fetch jsonp Ajax2.0->FormData:直接提交表单,文件 Web...

  • 表单提交FormData方法详解

    FormData的主要用途有两个:1、将form表单元素的name与value进行组合,实现表单数据的序列化,从而...

  • jQuery ajax上传文件

    表单:

  • 03Ajax-FormData

    FormData FormData 对象的作用 1.模拟HTML表单,相当于将HTML表单映射成表单对象,自动将表...

网友评论

    本文标题:formData提交表单

    本文链接:https://www.haomeiwen.com/subject/wuvhcctx.html