javascript 错误:HTTP响应中缺少X-Total-Count标头,|React管理员

anauzrmj  于 2023-03-28  发布在  Java
关注(0)|答案(1)|浏览(138)

我试图从“http://localhost:5001/posts”获取帖子。
我使用的是react-admin,但使用的是我自己的API,这是前端的“数据提供者”:

import jsonServerProvider from "ra-data-json-server";
const dataProvider = jsonServerProvider("http://localhost:5001");

在后端,这是我的代码:

const app = express();

// Middlewares
app.use(express.json());
app.use(cors());

// get posts
app.get("/posts", async (req, res) => {
  try {
    const posts = await Post.find();
    res.status(200).json(posts);
  } catch (error) {
    console.log(error);
  }
});

完整错误消息:

错误:HTTP响应中缺少X-Total-Count标头。jsonServer数据提供程序要求资源列表的响应包含此标头以及构建分页的结果总数。如果您使用CORS,是否在Access-Control-Expose-Headers标头中声明了X-Total-Count?

如何设置GET请求的X-Total-Count头?

l5tcr1uw

l5tcr1uw1#

在Express中,您可以使用res对象上的header方法指定响应头。
沿着以下方法:

app.get("/posts", async (req, res) => {
  try {
    const posts = await Post.find();

    res.header('Access-Control-Expose-Headers', 'X-Total-Count')
    res.header('X-Total-Count', posts.length)
    res.status(200).json(posts);
  } catch (error) {
    console.log(error);
  }
});

相关问题