form的表单提交

//未带文件带表单提交
$('form').on('submit', function(e){ $.ajax({ url: $('form').attr('action'), type: 'post', data: $('form').serialize(), //这里需要注意 success: function(data) { if (data.err_code ==0) { //成功 window.location.href = '/advert'; } } }) return false //阻止同步表单提交。采用异步提交 })

//带文件带表单提交
1. 在form标签中添加 enctype="multipart/form-data"

2.

$('form').on('submit', function(e){
  $.ajax({
    url: $('form').attr('action'),
    type: 'post',
    data: new FormData( $('form')[0] ), //这里不同
    processData: false,        //添加  
    contentType: false,        //添加
    success: function(data) {
      if (data.err_code ==0) {
        //成功
        console.log('成功');
        window.location.href = '/advert';
      }
    }
  })
  return false
})

 
  
//服务端处理带文件带表单提交
 body-parser 并不支持 contentType: multipart/form-data 的格式类型,也就是不支持formData格式
使用第三方模块 formidable

1. npm i -S formidable

  2.

   import formidable from 'formidable';

   const form = new formidable.IncomingForm();

   form.uploadDir = path.join(__dirname,'../../public/uploads');  //设置文件的上传路径

   form.keepExtensions = true;      //保存扩展名,默认为false

   form.parse(req, function(err, fields, files) {

  console.log(fields);
  console.log('--------------------------------------');
  console.log(files);
  res.send({
    err_code: 0
  });
});





 

转载于:https://www.cnblogs.com/flyerya/p/11437738.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值