无法获取静态json文件



我已经为来自JSON文件的静态API托管了一个站点。假冒的API链接是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页面和数据库。json文件。我应该在哪里添加Access-Control-Allow-Origin: https://www.example.com?

另外,我尝试了json-server

我甚至尝试了json-server。它在本地运行,但当我在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 akajson-server与Nginx?

谢谢。

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

Ivan Shatsky的回答

最新更新