【发布时间】:2017-09-22 03:35:41
【问题描述】:
我想从 React 中的方法调用一个 API 进行注册。下面是我的 javascript 代码:
fetch('http://localhost:5001/api/Account', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: "hugh.daniel@gmail.com",
name: "Hugh Daniel",
password: "1234"
})
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
这是我的控制器
[HttpPost]
public ResponseModel RegisterByEmail([FromBody]UserModel user)
{
return _accountService.RegisterEmail(user);
}
我尝试在我的 javascript 代码中添加 mode: 'no-cors',但它使 Content-Type 设置为普通。
如果我像这样使用 Postman 测试它,API 就可以工作
【问题讨论】:
-
您是否尝试在您的控制器上启用 CORS?可以尝试从任何来源开始,然后正确定义您的来源:[EnableCors("", "", "*")]
-
@zer0chain 我试过了。它导致另一个错误 500。它也发生在 Postman 中,它返回错误 500
-
你为什么从
"http://localhost:3030"POST到"http://localhost:5001/api/Account"?您能否在问题中包含错误消息的实际文本? -
@guest271314 我在
"http://localhost:3030"中使用 React 为我的应用程序创建了一个前端。并在"http://localhost:5001/api/Account"中调用REST API(使用.Net创建) -
错误信息看起来很清楚,请求是跨域的,服务器没有响应 CORS 标头。
标签: javascript reactjs fetch