在后端服务器上配置 CORS 策略以允许跨域请求。可以使用 Express 框架来在服务器中启用 CORS,例如:
const express = require('express');
const app = express();
// 允许跨域请求
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
});
// 处理 http get 请求
app.get('/api/data', (req, res) => {
// 返回数据
res.send('Hello from server!');
});
// 启动服务器
app.listen(3000, () => {
console.log('Server started on port 3000');
});
在上述代码中,通过设置 Access-Control-Allow-Origin
为 *
允许任何来源的请求。也可以将其设置为特定的域名,例如 'http://localhost:4200'
。Access-Control-Allow-Methods
和 Access-Control-Allow-Headers
用于允许特定的 HTTP 方法和头信息。
客户端代码可以发出跨域请求,例如:
this.http.get('http://localhost:3000/api/data').subscribe((data) => {
console.log(data);
});
在上述代码中,this.http
是一个 HttpClient
的实例,用于发送 http 请求。http.get
方法用于发送 http get 请求,然后通过 subscribe
方法订阅可观察对象并处理响应数据。