在让微风发出请求之前,如何设置标题?
示例:我的服务期望某个密钥成为请求的一部分 标题名称'x-service-key'。直到现在,我正在使用jquery ajax和 放大,很容易设置标题。既然我没有 控制微风正在进行的请求,我如何传递额外的 标题之类的东西?
此问题由sujesharukil在我们的IdeaBlade论坛上发布。我在这里重新提出问题和答案,因为我认为它对Breeze Stack Overflow社区有用。
答案 0 :(得分:7)
从Breeze 0.70.1开始,我们现在支持完全自定义或替换breeze客户端与服务器上的Web服务之间的任何Ajax通信的能力。
关于我们的Ajax支持的Breeze文档仍在进行中,但希望以下内容可以帮助您入门。
要控制Breeze发出的每个Ajax请求的标头,您可以在应用首次启动时执行以下代码。
var ajaxImpl = breeze.config.getAdapterInstance("ajax");
ajaxImpl.defaultSettings = {
headers: {
// any CORS or other headers that you want to specify.
"X-Test-Header": "foo2"
},
};
或者,您可以拦截单个Ajax调用,并根据请求有选择地添加标头。
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");
}
};