用我自己的替换AngularJS或BreezeJS ajax对象来允许服务器端代理

Substitute AngularJS or BreezeJS ajax objects with my own to allow for a server-side proxy

本文关键字:对象 代理 服务器端 ajax BreezeJS 自己的 我自己 替换 AngularJS      更新时间:2023-09-26

我对我想做的事情有一些想法,但我不确定如何最好地使用Angular和Breeze,通过HotTowel模板组合。我们的内部web应用程序与另一台主机上的内部web服务对话,因此我们遇到了一些跨域问题(CORS)。为了解决这个问题,我(在以前的项目中)使用了一个简单的服务器端代理来反弹请求。但是,要做到这一点,我需要将代理URL附加到任何出站数据请求。如果breeze最终要找的是http://example-service-host.example/odata/Entity我想把它改成http://example-site.example/proxy.ashx?url=<encodedURL>

但是我不知道该怎么做。HotTowel用Angular的$http代替了Breeze的ajax服务。所以我应该能够在那里注入一个$http包装器,或者修改Angular从哪里获得$http,从而把包装器放得更深。

两者的文档只是让我怀疑任何松散的包装都会遇到问题,因为它不会是真实的东西的完美假。关于这样做的任何指导或建议我可以在哪里注入包装器?或者,我做服务器端代理的困难的方式,有一个更好的方法来处理它?

你可以在微风中控制ajax调用(它使用jQuery作为默认)。这里是如何做到这一点的文档链接:http://www.breezejs.com/documentation/controlling-ajax