reactjs - Api 调用从应用程序中给出 204
问题描述
我已经在服务器上部署了我的 react 应用程序和 .net core api。当我从浏览器检查时,.net core api 调用工作正常。但是当我从反应应用程序调用它时,它会给出 204 no-content。在本地一切正常。
我已经启用了这样的 CORS
options.AddPolicy(MyAllowSpecificOrigins,
builder =>
{
builder.WithOrigins("http://serverip:5000",
"http://serverip:3000"
}
api调用---
[HttpGet]
[Route("path/{id}")]
public async Task<ActionResult<List<myData>>> GetByType(byte id)
{
if (IsUserAuthenticated())
return await _myRepo.GetMyData(id);
else
return null;
}
反应呼叫-----
axios.get('http://ip:5000/api/value1/value2/' + param1, {
withCredentials: true })
感谢任何帮助!
解决方案
尝试将代码更改为
[HttpGet]
[Route("path/{id}")]
public async Task<ActionResult<List<myData>>> GetByType(byte id)
{
if (IsUserAuthenticated())
return await _myRepo.GetMyData(id);
else {
HttpContext.Response.StatusCode = 401;
return null;
}
}
这将确保 NoContent 204 结果不仅仅是代码的空部分。
如果您收到未经授权的响应,那么您需要弄清楚您的安全性。
顺便说一句,您可以使用过滤器进行授权或属性,而不是将其写入每个操作。
推荐阅读
- javascript - Javascript事件监听回调函数应该在回调队列中等待
- javascript - 当我运行此错误时:TypeError:navigation.getParam 不是函数:
- android - Android NDK 2021 年构建 FFMPEG
- unity3d - 在移动设备上处理多个屏幕方面的最佳方式
- heroku - 将 Angular 部署到 Heroku:“找不到模块 app/server.js”
- parameters - 使用参数和源块创建代理
- javascript - 每当加载主页时,如何清除 Shopify 购物车?
- c - g++ 没有这样的文件或目录?
- python - How to filter a Model with a One-To-Many Relationship using Flask-Sqlalchemy?
- python - websocket多流python