ajax - 在 Breeze 中设置 AJAX header

标签 ajax breeze

How do I set headers before letting breeze make a request?

Example: my service expects a certain key to be part of the request in a header name 'x-service-key'. Till now, I was using jquery ajax and amplify, so pretty easy to set up the header. Since I don't have any control over the request that breeze is making, how do I pass extra stuff like headers?

此问题由 sujesharukil 在我们的 IdeaBlade 论坛上发布。我在这里重新发布问题和答案,因为我认为这对 Breeze Stack Overflow 社区很有用。

最佳答案

从 Breeze 0.70.1 开始,我们现在支持完全自定义或替换 Breeze 客户端与服务器上的 Web 服务之间的任何 Ajax 通信的能力。

有关 Ajax 支持的 Breeze 文档仍在编写中,但希望以下内容能够帮助您入门。

要控制 Breeze 发出的每个 Ajax 请求的 header ,您可以在应用首次启动时执行以下代码。

 var ajaxImpl = breeze.config.getAdapterInstance("ajax");
 ajaxImpl.defaultSettings = {
       headers: { 
           // any CORS or other headers that you want to specify.
           "X-Test-Header": "foo2" 
       },
};

或者,您可以拦截各个 Ajax 调用并根据请求有选择地添加 header 。

 var ajaxImpl = breeze.config.getAdapterInstance("ajax");
 ajaxImpl.defaultSettings = {
       beforeSend: function(jqXHR, settings) {
              // examine the jqXHR or settings and customize the headers accordingly.
              jqXHR.setRequestHeader("X-Test-Before-Send-Header", "foo2");
       }
 };

关于ajax - 在 Breeze 中设置 AJAX header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13616445/

相关文章:

jquery - .net webapi HttpGet 与 HttpPost。为什么使用 HttpGet?

javascript - 将数据推送到客户端

javascript - 如何在通过 AJAX 检索数据后循环每个 JSON 值

exception - 查询确实返回数据时出现奇怪的 Breeze 错误(更新 : Metadata not loading correctly)

breeze - 如何 "dispose"一个 EntityManager

javascript - Breeze 为使用 WebAPI 构建的应用程序提供什么值(value)?

asp.net-mvc-4 - 在常规 MVC 项目中使用 Breeze 代替 Spa

javascript - jquery div 显示/隐藏在选中或取消选中时无法正常工作

javascript - AJAX 请求中的相对 URL

javascript - 使用 TypeScript 扩展 Breeze 实体