在后请求axios中传递参数

时间:2018-08-03 09:07:18

标签: javascript vue.js vuejs2

我有一个对象,我将在使用axios的发布请求中使用

employee:{
    name: 'test',
    email: 'test@gmail.com',
    password: '123456',
    role: {
       created_at:"2018-08-03 07:34:30"
       deleted_at:null
       id:2
       role_name:"employee"
       updated_at:"2018-08-03 07:34:30"
    }
},

这是我的发帖请求

axios.post('api/employees', vm.employee)
.then( response => {
    alert("Employee Inserted");
    vm.errors.clear();
    vm.setFalse();
    vm.fetchEmployees();
    })
    .catch( error => {
       vm.errors.record(error.response.data);
});

我如何仅在角色对象中传递请求后的角色对象以及名称,电子邮件和密码

3 个答案:

答案 0 :(得分:0)

如果按参数表示标题,则可以尝试:

{
  "size": 0,
  "aggs": {
    "dups": {
      "terms": {
        "field": "a",
        "min_doc_count": 2
      },
      "aggs": {
        "b_hits": {
          "top_hits": {
            "_source": "b"
          }
        }
      }
    }
  }
}

其他明智的做法是创建一个这样的主体:

var options = {
  headers: {'X-My-Custom-Header': 'Header-Value'}
};

axios.post('api/employees', vm.employee, options);

答案 1 :(得分:0)

我认为这对您有用。

axios.post('api/employees', {name: employee.name, email: employee.email, role_name: employee.role.role_name})
.then( response => {
    alert("Employee Inserted");
    vm.errors.clear();
    vm.setFalse();
    vm.fetchEmployees();
    })
    .catch( error => {
       vm.errors.record(error.response.data);
});

答案 2 :(得分:0)

如果ES2015可以,那么这是传递数据的一种较短方法:

axios.post('api/employees', {
  ...employee,
  role: { role_name: employee.role.role_name }
}) ...