微风-向请求添加标头

Breeze - Adding headers to request

本文关键字:添加 请求 微风      更新时间:2024-04-28

我正在与一个使用Breeze作为OData客户端的服务器集成,我使用常规的jQuery post请求登录,并获得了一个令牌,我需要将其添加到每个请求中,我如何将该令牌添加到Breeze请求中?

在Breeze上对Brian Noyes(精彩)Pluralsight课程的评论中也出现了类似的问题。

其要旨如下。

当您选择OData数据服务时,Breeze将与服务器的通信(AJAX调用)委托给DataJS。这就是Breeze OData数据服务的实现方式。我们认为这是一个明智的选择,因为微软(据我所知)在很大程度上负责维护DataJS;Breeze最好让他们领先。

因此,您应该寻找的是DataJS挂钩。提出这个问题的人@bhlaban写道:

"我想我找到了一个解决办法:由于breeze在odata的引擎盖下使用datajs,我只做了以下操作(来自datajs论坛)来设置授权头:

var oldClient = OData.defaultHttpClient;
var myClient = {
     request: function (request, success, error) {
         request.headers.Authorization = $http.defaults.headers.common['Authorization'];
         return oldClient.request(request, success, error);
     }
};
OData.defaultHttpClient = myClient;

如果您不使用Angular的$http,您将以其他方式获得标题。