在ASP.NET Core中使用Fetch API时,有时候可能会遇到数据无法正确发布到服务器的问题。以下是一些常见的解决方法和代码示例:
JSON.stringify
方法将数据转换为JSON字符串,并使用body
参数进行发送。let data = { name: "John", age: 30 };
fetch('/api/endpoint', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
})
.then(response => response.json())
.then(result => {
console.log('Data posted successfully:', result);
})
.catch(error => {
console.error('Error posting data:', error);
});
[FromBody]
特性来绑定请求体中的数据。[HttpPost]
public IActionResult Endpoint([FromBody] MyModel model)
{
// Process the data
// ...
return Ok("Data received successfully");
}
Startup.cs
文件中的ConfigureServices
方法中配置CORS。public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddCors(options =>
{
options.AddPolicy("AllowAll", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
// ...
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseCors("AllowAll");
// ...
}
以上是一些常见的解决方法和代码示例,可以根据具体的情况选择适合的方法来解决ASP.NET Core和Fetch API的数据发布问题。