当你运行 ionic serve 时发生了什么呢?
这让你看着你的应用加载到你电脑上一个浏览器里,地址是:http://localhost:8100(如果你选择了 localhost的话)。
你的 origin 就是 localhost:8100。
任何的发送到其他不是 localhost:8100 主机上的 AJAX 请求都会把localhost:8100作为他的 origin,这就会导致必须要经过一个 CORS 预检来看是否可以访问(非本机的)服务器资源。
当你运行 ionic run 时发生了什么呢?
file://some/path/www/index.html。因为你正在运行的 URI 是 file://,所以你的 origin 将不会存在,所以任何向外的请求都不再需要 CORS 请求。
当你运行 ionic run -l时又发生了什么呢?
http://192.168.1.1:8100来运行文件(你的 本地 ip 可能是其他的)。你的 origin 就会是 192.168.1.1:8100。
任何一个发送到不是192.168.1.1:8100的服务器上的 AJAX 请求都会需要进行 CORS 预检请求来看是否可以访问到该服务器上的资源。
参考文档:http://blog.ionic.io/handling-cors-issues-in-ionic/
原文:http://www.cnblogs.com/zhaoyihao/p/7580745.html