Ajax 带有JsonRest存储(dojo)的自定义http头
我想知道是否有任何方法可以在Get ajax请求(xhr.Get)中设置我自己的自定义http头,该请求自动执行JsonRest存储 有一个相关的话题,但没有很好的解决方案: 我已经在“dojo.store.JsonRest”中看到了JsonRest实现,包括构造函数,我们是否能够实现它并不明显(但我不这么认为)。正在使用的JsonRest存储示例:Ajax 带有JsonRest存储(dojo)的自定义http头,ajax,json,dojo,http-headers,store,Ajax,Json,Dojo,Http Headers,Store,我想知道是否有任何方法可以在Get ajax请求(xhr.Get)中设置我自己的自定义http头,该请求自动执行JsonRest存储 有一个相关的话题,但没有很好的解决方案: 我已经在“dojo.store.JsonRest”中看到了JsonRest实现,包括构造函数,我们是否能够实现它并不明显(但我不这么认为)。正在使用的JsonRest存储示例: var store = new JsonRestStore({target: "/Table/" }); 我将完成它的子类化dojo.stor
var store = new JsonRestStore({target: "/Table/" });
我将完成它的子类化
dojo.store.JsonRest
,如中所示
A.子类dojo.store.JsonRest
:
var MyJsonRest = declare(JsonRest, {
get: function(id, options) {
return this.inherited(
arguments,
[id, lang.mixin(this.defaultGetHeaders, options)]
);
}
});
因此您重写了调用超类“get
”的get
方法,但是第二个参数options
(即headers)现在也将包含this.defaultGetHeaders
的属性
B.在构造函数中定义defaultGetHeaders
:
var myJsonRest = MyJsonRest({
target: "/echo/json/",
defaultGetHeaders: {
userId: "xyz",
requestedBy: "abc",
requestedFrom: "123"
}
});
C.调用myJsonRest.get()
method您还可以覆盖默认头:
myJsonRest.get("someId", { requestedFrom: "321"}).then(function(result) {
console.log(result);
});
D.检查请求头:
myJsonRest.get("someId", { requestedFrom: "321"}).then(function(result) {
console.log(result);
});