Я бы выполнил подкласс dojo.store.JsonRest
, как вы можете видеть в этом jsFiddle .
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
(т.е. заголовки) теперь будет содержать также свойства this.defaultGetHeaders
.
B. Определите defaultGetHeaders
в конструкторе:
var myJsonRest = MyJsonRest({
target: "/echo/json/",
defaultGetHeaders: {
userId: "xyz",
requestedBy: "abc",
requestedFrom: "123"
}
});
C. Вызывая метод myJsonRest.get()
, вы также можете перезаписать заголовки по умолчанию:
myJsonRest.get("someId", { requestedFrom: "321"}).then(function(result) {
console.log(result);
});
D. Проверьте заголовки запроса: