PUT работает с POSTMAN, но не с AXIOS - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь обновить запись в базе данных. Внутренняя часть находится в C # ASP.NET, а внешняя - в vuejs. Методы GET, POST работают с POSTMAN и AXIOS. Метод PUT работает с POSTMAN, но не с axios. Ниже приведена урезанная версия axios.

axios({
  method: 'PUT',
  url: 'http://localhost:64427/api/employees/update',
  header:{
      'Content-Type': 'application/json'
  },
  data: {
       QUAD: n_emp.QUAD,
       EMAIL: n_emp.EMAIL,
       ACTIF_O_N:n_emp.ACTIF_O_N
  }
}).then(response => {
   this.$router.push('/management/employee/overview')
}

Ниже находится контроллер

 [HttpPut]
 [ActionName("update")]
 public HttpResponseMessage UpdateEmployee([FromBody]EmployeeFormVM employee)
 {
    var db = new KronosDB("public");
    var response = Request.CreateResponse();
    EMPLOYEE updateemployee = db.Employees.Where(e => e.QUAD == employee.QUAD).FirstOrDefault();
    updateemployee.QUAD = employee.QUAD;
    updateemployee.ACTIF_O_N = employee.ACTIF_O_N;
    updateemployee.EMAIL = employee.EMAIL;
 }

У меня это наверху контроллера.

[EnableCors(origins: "http://localhost:8080", headers: "*", methods: "*")]

Я получаю сообщение ниже

Метод PUT не разрешен Access-Control-Allow-Methods в предварительной проверке ответ.

1 Ответ

0 голосов
/ 18 июня 2018

Следуя инструкциям из документации

Включение запросов из разных источников в ASP.NET Web API 2

Я добавил эти строки ниже в WebApiConfig.cs в Регистрация , чтобы решить эту проблему.

config.EnableCors();
...