当我的目标是动态时,如何解决Rest API的CORS错误

时间:2019-05-08 09:44:54

标签: node.js angular rest cors

我正在尝试使用angular和node js创建Rest Response模拟器(如邮递员)。每当我尝试发送请求时,都会出现CORS(跨源资源共享)错误。 我发现使用proxy.config解决了此问题,我们将目标主机赋予了主机。但就我而言,URL是动态的。我无法在proxy.config文件中定义所有目标。 我该如何解决这个问题?

1 个答案:

答案 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";
    }
}

它将解决问题。