我正在尝试使用angular和node js创建Rest Response模拟器(如邮递员)。每当我尝试发送请求时,都会出现CORS(跨源资源共享)错误。 我发现使用proxy.config解决了此问题,我们将目标主机赋予了主机。但就我而言,URL是动态的。我无法在proxy.config文件中定义所有目标。 我该如何解决这个问题?
答案 0 :(得分:0)
在服务器脚本中添加以下代码
app.all("/api/*", function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With");
res.header("Access-Control-Allow-Methods", "GET, PUT, POST");
return next();
});
如果将springboot与angular一起使用,则只需在控制器定义之前添加以下行
@CrossOrigin(origins="http://localhost:4200",allowedHeaders="*")
例如:
@RestController
@CrossOrigin(origins="http://localhost:4200",allowedHeaders="*")
public class AccountController {
@Autowired
private AccountServiceImpl accountService;
@RequestMapping("/hello")
public String startPage(){
return "Hi";
}
}
它将解决问题。