要解决本地JavaScript Fetch Post请求在调用ASP.NET Core 2.2 Web API时失败的问题,您可以按照以下步骤进行操作:
Startup.cs
文件中,添加以下代码以启用CORS:public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAnyOrigin",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader());
});
//...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//...
app.UseCors("AllowAnyOrigin");
//...
}
该代码允许来自任何源的请求。
确保JavaScript Fetch Post请求的URL正确,并且与ASP.NET Core Web API的路由匹配。
在JavaScript中,确保使用了正确的请求方法和请求头。
fetch('http://localhost:5000/api/controller/action', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ data: 'example' }),
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
请将上面的代码替换为您自己的API URL以及请求数据。
如果您的Web API需要身份验证,请确保在请求中提供了适当的身份验证凭据。
确保Web API的操作方法在服务器上正确实现,并返回正确的响应。
通过遵循上述步骤,您应该能够解决本地JavaScript Fetch Post请求在调用ASP.NET Core 2.2 Web API时失败的问题。如有其他问题,请提供更多详细信息以便我们能够更好地帮助您。