Javascript 在post请求axios中传递参数

Javascript 在post请求axios中传递参数,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我有一个对象,我将使用axios在post请求中使用它 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-0

我有一个对象,我将使用axios在post请求中使用它

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);
});

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

如果您指的是参数标题,则可以尝试:

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

axios.post('api/employees', vm.employee, options);
另一方面,只需创建如下实体:

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

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

我想这对你有用

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);
});

如果ES2015正常,则这将是传递数据的较短方式:

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