ajax - Cabeceras http personalizadas con JsonRest Store(dojo)
http-headers (1)
Lo lograría subclasificando dojo.store.JsonRest
como puede ver en este jsFiddle .
A. Subclase dojo.store.JsonRest
:
var MyJsonRest = declare(JsonRest, {
get: function(id, options) {
return this.inherited(
arguments,
[id, lang.mixin(this.defaultGetHeaders, options)]
);
}
});
Así que anula el método get
superclass '' get
, pero las options
del segundo argumento (es decir, los encabezados) ahora también contienen propiedades de this.defaultGetHeaders
.
B. Define defaultGetHeaders
en el constructor:
var myJsonRest = MyJsonRest({
target: "/echo/json/",
defaultGetHeaders: {
userId: "xyz",
requestedBy: "abc",
requestedFrom: "123"
}
});
C. Al myJsonRest.get()
método myJsonRest.get()
también puede sobrescribir los encabezados predeterminados:
myJsonRest.get("someId", { requestedFrom: "321"}).then(function(result) {
console.log(result);
});
D. Verifique los encabezados de solicitud:
Me preguntaba si hay alguna manera de establecer mis propios encabezados http personalizados en la solicitud Get ajax (xhr.get) que hace automáticamente una tienda JsonRest.
Hay un tema relacionado, pero sin una gran solución: cuadrícula Dojo Data con encabezados HTTP personalizados
He visto la implementación de JsonRest en ''dojo.store.JsonRest'', incluido el constructor, y no es obvio si podemos hacerlo o no (pero no lo creo). Ejemplo de la tienda JsonRest en uso:
var store = new JsonRestStore({target: "/Table/" });