无法获取静态 json 文件

Unable to fetch a static json file

我为来自 JSON 文件的静态 API 托管了一个站点。假的APIlink是api.example.com/db.json.

当我与邮递员检查 URL 时,我收到了 200 状态码。但是当我从 Javascript 中获取它时,它显示了这个错误 Access to fetch at 'http://api.example.com/db.json' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

我正在 运行 使用 nginx 连接 Web 服务器,它是一个简单的站点包,只有一个 HTML 页面和那个 db.json 文件。我应该在哪里添加 Access-Control-Allow-Origin: https://www.example.com?

此外,我试过 json-server

我什至试过了json-server。它在本地 运行ning 但当我在 nginx 服务器上托管它并尝试 运行 pm2 start --name=static_api npm run json:server

pm2 显示此错误

[PM2] Starting /usr/local/bin/npm in fork_mode (1 instance)

[PM2] Done.

[PM2][ERROR] Script not found: /var/www/html/static_api/run

有什么办法可以 运行 假 API 又名 json-server 与 Nginx 吗?

谢谢。

添加add_headerAccess-Control-Allow-Origin“https://www.example.com”;到你的 nginx 服务器块(和其他 CORS headers 相同的方式,如果需要的话)。

伊万·沙茨基的回答