我正在尝试更新数据库中的记录。后端在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: "*")]
我收到以下信息
预检中的Access-Control-Allow-Methods不允许使用方法PUT 响应。
答案 0 :(得分:1)
按照文档中的说明进行操作
Enabling Cross-Origin Requests in ASP.NET Web API 2
我在注册函数的 WebApiConfig.cs 中添加了以下这些行来解决此问题。
config.EnableCors();