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

标签 javascript asp.net angularjs breeze hottowel

我知道我想要做什么,但我不确定如何使用 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/

相关文章:

javascript - 使浏览器在单击后退按钮时忽略 URL 哈希

javascript - 加载 eBay 观看和询问按钮

javascript - 为什么模板字符串中的数组显示为普通字符串?

javascript - <asp :Button> doesn't fire 'onclick' event with using UseSubmitBhaviour=false

c# - 将我的 DateTime 转换为 UTC 时遇到问题

javascript - 单击事件在带有 angularjs 的 iPad 中无法正常工作

javascript - args.slice(1) 如何分隔传递给 PhantomJS 的参数和 forEach(function(arg, i)... function 来工作?

c# - 如何在 ASP.NET 中动态创建的 TreeView 中添加 URL?

javascript - Angular ui-Grid Splice 不适用于数组

javascript - AngularJS 复选框 ng-repeat 和选定的对象?