CORS问题是AngularJS应用程序独有的吗?
我正在用AngularJS构建一个客户端应用程序,它向使用ASP.NET构建的RESTfulWebAPI发出请求。我有“无访问控制允许源标题存在”错误,我理解为了修复它,您需要在您的web API中允许CORS,我已经这样做了CORS问题是AngularJS应用程序独有的吗?,angularjs,asp.net-web-api,cors,Angularjs,Asp.net Web Api,Cors,我正在用AngularJS构建一个客户端应用程序,它向使用ASP.NET构建的RESTfulWebAPI发出请求。我有“无访问控制允许源标题存在”错误,我理解为了修复它,您需要在您的web API中允许CORS,我已经这样做了 然而,我不明白的是,为什么我只在AngularJS应用程序中存在这个问题。我在ASP.NET MVC中构建了许多客户端应用程序,这些应用程序使用ASP.NET web API提供的服务,我从未遇到过这个问题。有人能解释一下为什么会发生这种情况吗?这对AngularJS来说
然而,我不明白的是,为什么我只在AngularJS应用程序中存在这个问题。我在ASP.NET MVC中构建了许多客户端应用程序,这些应用程序使用ASP.NET web API提供的服务,我从未遇到过这个问题。有人能解释一下为什么会发生这种情况吗?这对AngularJS来说并不是唯一的。对于所有指向不同域的javascript调用,都是这样的 区别可能在于您从MVC项目的服务器调用了web服务
同时,从前端(浏览器)调用API时,浏览器内置了安全性,不允许您调用其他域。服务器没有与浏览器相同的内置安全性。对于AngularJS来说,它不是唯一的。对于所有指向不同域的javascript调用,都是这样的 区别可能在于您从MVC项目的服务器调用了web服务
同时,从前端(浏览器)调用API时,浏览器内置了安全性,不允许您调用其他域。服务器没有与浏览器相同的内置安全性。CORS是一种基于浏览器的技术,不限于Angular。Angular利用XMLHttpRequest发出请求,这是使用同源策略的。其他客户端应用程序正常工作的原因是它们不是基于浏览器的
CORS是一种基于浏览器的技术,不限于角度。Angular利用XMLHttpRequest发出请求,这是使用同源策略的。其他客户端应用程序正常工作的原因是它们不是基于浏览器的
不。这不是Angular独有的 当您的后端API和前端SPA具有以下不同的一项时,您将遇到CORS问题:
- 主机名:
和api.example.com
www.example.com
- 端口:
和example.com
example.com:8080
- 协议:
和https://example.com
http://example.com
- 主机名:
和api.example.com
www.example.com
- 端口:
和example.com
example.com:8080
- 协议:
和https://example.com
http://example.com