Javascript 获取控制器.Net核心的POST ReactJs
我在向控制器获取POST时遇到问题,显示错误,如Javascript 获取控制器.Net核心的POST ReactJs,javascript,c#,node.js,reactjs,asp.net-core,Javascript,C#,Node.js,Reactjs,Asp.net Core,我在向控制器获取POST时遇到问题,显示错误,如{“errors”:{“”:[“解析数字时遇到意外字符:W.Path“”,第1行,位置6.]},“title”:“发生了一个或多个验证错误”,“status”:400,“traceId”:“0HLOGKVEBUTKL:0000000 7”}。当我也去bug时,在我的控制器中它不会传递给控制器 这就是我要发布的内容 我在客户端使用ReactJs,服务器端使用netcore。下面是我的代码片段: AddList.js fetch('api/Sam
{“errors”:{“”:[“解析数字时遇到意外字符:W.Path“”,第1行,位置6.]},“title”:“发生了一个或多个验证错误”,“status”:400,“traceId”:“0HLOGKVEBUTKL:0000000 7”}
。当我也去bug时,在我的控制器中它不会传递给控制器
这就是我要发布的内容
我在客户端使用ReactJs,服务器端使用netcore。下面是我的代码片段:
AddList.js
fetch('api/SampleData/AddEmployee', {
method: 'POST',
headers: {
'Accept': 'application/json; charset=utf-8',
'Content-Type': 'application/json;charset=UTF-8'
},
body: data,
}).then((response) => response.json())
.then((responseJson) => {
console.log('Success:', JSON.stringify(responseJson));
this.props.history.push("/list-data");
})
.catch(error => console.error('Error:', error));
SampleDataController.cs
[HttpPost("[action]")]
public JsonResult AddEmployee(EmployeesViewModel employee)
{
}
starrup.cs
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
routes.MapRoute(
name: "api",
template: "api/{controller}/{action}/{id?}");
});
你不需要这个配置
routes.MapRoute(
name: "api",
template: "api/{controller}/{action}/{id?}");
相反,在控制器中使用如下路由
[Route("api/[controller]/[action]")]
public class YourController : Controller
而不是
body: data,
你能试试这个吗
body: JSON.stringify(data),
您可以在不使用
内容类型的情况下尝试它吗。当我处理formdatadifferent错误{“type”:https://tools.ietf.org/html/rfc7231#section-6.5.13,“标题”:“不支持的媒体类型”,“状态”:415,“traceId”:“0HLOGKVEBUTKP:00000008”}
Unsupported Media Type@mkamranhami我对.net一无所知,但看到您的错误,我想您的目标资源应该被明确告知它应该在正文中接收什么类型的数据,就像这样'Content-Type':'multipart/form data'
您也可以试试吗