我知道我想要做什么,但我不确定如何使用 Angular 和 Breeze(通过 HotTowel 模板组合)最好地实现它。我们的内部 Web 应用程序与另一台主机上的内部 Web 服务进行通信,因此我们遇到了一些跨域问题 (CORS)。为了解决这个问题,我(在之前的项目中)使用了一个简单的服务器端代理来退回请求。不过,为此,我需要将代理 URL 附加到任何出站数据请求。因此,如果 Breeze 最终要寻找http://example-service-host.example/odata/Entity
我想将其更改为 http://example-site.example/proxy.ashx?url=<encodedURL>
但我不知道该怎么做。 HotTowel 将 Breeze ajax 服务替换为 Angular 的 $http
。因此,我应该能够将 $http 包装器注入(inject)其中,或者修改 Angular 获取 $http 的位置,以将包装器放入更深的位置。
两者的文档只是让我怀疑任何松散的包装都会遇到问题,因为它不会是真品的完美假货。关于这样做的任何指导或关于我可以在哪里注入(inject)包装器的建议?或者,我是否以困难的方式进行服务器端代理,并且有更好的方法来处理这个问题?
最佳答案
您可以在 Breeze 中控制 ajax 调用(默认使用 jQuery)。以下是有关如何执行此操作的文档的链接: http://www.breezejs.com/documentation/controlling-ajax
关于javascript - 用我自己的 ajax 对象替换 AngularJS 或 BreezeJS ajax 对象,以允许服务器端代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22620879/