如果您有权限,可以向API服务器添加Access-Control-Allow-Origin标头。这告诉浏览器允许跨域请求。
例如,如果您的前端代码运行在http://localhost:3000上,您可以添加以下标头:
Access-Control-Allow-Origin: http://localhost:3000
如果您无法更改API服务器的设置,但您有另一个服务器可以执行JavaScript代码,则可以将自己的服务器配置为代理服务器。
客户端向代理服务器发出请求,而代理服务器再将请求发送到API服务器。在代理服务器和API服务器之间,没有CORS问题。
以下是使用Node.js的示例:
const http = require('http');
const options = { hostname: 'api.example.com', port: 80, path: '/data', method: 'GET', headers: { 'Content-Type': 'application/json' } };
http.createServer((req, res) => { const proxyReq = http.request(options, proxyRes => { proxyRes.pipe(res, { end: true }); });
req.pipe(proxyReq, { end: true }); }).listen(3000);
这将使您的服务器运行在http://localhost:3000上,并将请求转发到http://api.example.com/data。
请注意,这个示例仅用于演示。在真实生产环境中,应该使用相应的模块(例如ExpressJS)来更好地管理代理服务器。
上一篇:API被CORS策略阻止
下一篇:API被CORS政策阻止