Angular

时间:2019-04-19 20:10:40

标签: angular api iis cors localhost

我尝试了所有可能的方法来解决 CORS 问题,同时使用 ng服务通过 VS代码 / p>

  1. 实现了prox.conf.json,然后运行
  

ng serve --proxy config proxy.conf.json

{
  "/`OSTNextService`": {

    "target": "https://localhost/OSTNextService",
    "secure": true,
    "pathRewrite": {
    "^/OSTNextService": ""
  },


"`changeOrigin": true`
  }
}
  1. 将IIS标头设置为指定域。就我而言 https://localhost:4200 enter image description here

  2. 设置服务global.asax文件

    enter image description here

对我没有任何帮助,并且出现

之类的错误
  

在以下位置访问XMLHttpRequest   'https://localhost/OSTNextService/OSTPortalService.svc/GetUserName'   来自来源“ https://localhost:4200”的信息已被CORS政策阻止:   响应中“ Access-Control-Allow-Origin”标头的值   当请求的凭据模式为时,不得为通配符'*'   '包括'。发起的请求的凭据模式   XMLHttpRequest由withCredentials属性控制。

当我将应用程序托管在IIS中并将dist文件夹映射到该文件夹​​时,一切正常。但是,每次我更改生成应用程序所需的.ts文件时,几乎浪费了两倍的时间。请提供建议,帮助我。

1 个答案:

答案 0 :(得分:0)

在代理文件中使用“ / OSTNextService”而不是“ / OSTNextService”。而且,如果仅使用"target": "https://localhost/",则不需要rewrite

也不要在您的应用中使用完整的URL,而是使用相对的/OSTNextService/OSTPortalService.svc/GetUserName,它会命中您的代理并转发到localhost:80 /...

我认为不需要修改IIS标头。