FORMDATA不为空,但sails.js变成空req.body与vue.js

时间:2019-02-02 12:27:40

标签: vue.js sails.js form-data

我一起使用vue.js和sails.js,我需要创建一个带有图片和其他文本值的产品,我从整个表单中创建了一个formData对象,并向其中添加了一些数据。当我倾向于注销数据时,它并不为空,但是当我使用req.bodyreq.params时,它显示为空对象。 我的代码如下:

var form = document.querySelector('form');
  var formData = new FormData(form);
  formData.append('owner', cid);
  formData.append('name', this.name);
  formData.append('slug', this.slug);
  formData.append('description', this.editorData);
  formData.append('tags', this.tags);
  formData.append('categories', this.categories);
  formData.append('stock', this.stock);
  formData.append('price', this.price);

  for (let [key, value] of formData.entries()) { 
    console.log(key, value);
  }


  axios.post(API + 'product/new', formData)
  .then(function(response) {
    swal("ok",{
      icon: "success",
      button: false,
    });   
  })
  .catch(function(error) {
    swal("not ok",{
      icon: "error",
      button: false,
    }); 
    console.log(error.response);
      // remain silent
  });

1 个答案:

答案 0 :(得分:0)

我已经解决了3天了,所以我现在就解决了这个问题。 解决方案很简单,SailsJs req.body对象将只读取您的formdata对象或您传递给它的任何对象,只要它不位于文件对象之后即可(如果有的话)。

为更好地理解,请查看他们在req.body here上的文档