原理:在客户端和目标服务器之间添加一个代理服务器,所有的跨域请求都先发送到代理服务器,代理服务器再向目标服务器发起请求,并将结果返回给客户端。
优点:可以隐藏真实的API地址,增加安全性。
缺点:增加了服务器的负担,可能影响性能。
示例代码(客户端): fetch('/api/data')
.then(response => response.json())
.then(data => console.log(data));
示例代码(服务器端,使用Node.js + Express): const express = require('express');
const app = express();
const request = require('request');
app.get('/api/data', (req, res) => {
request('http://example.com/data', (error, response, body) => {
if (!error && response.statusCode === 200) {
res.json(JSON.parse(body));
}
});
});