Breeze - 添加标头以请求

时间:2013-12-08 20:52:01

标签: javascript jquery breeze

我正在使用Breeze作为OData客户端与服务器集成,我使用常规jQuery post请求进行登录并获得了我需要添加到每个请求的令牌,如何将此令牌添加到breeze请求?< / p>

1 个答案:

答案 0 :(得分:3)

Brian Noyes (wonderful) Pluralsight course on Breeze的评论中出现了类似的问题。

它的要点如下。

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

所以你应该寻找的是DataJS钩子。提出这个问题的人@bhlaban写道:

我想我找到了一个解决方法:由于breeze使用数据引擎来为odata,我只是做了以下(来自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,你会以其他方式获得标题。