#dojo
#dojo
Вопрос:
Как вы устанавливаете значение заголовка «Accept» в application / json в dojo.store.JsonRest при вводе или публикации?
var dataStore = new dojo.store.JsonRest({
target : "/project-services/"
});
dataStore.put({id: 10, field1: "Some Value", field2: "Other Value"});
Отправленный заголовок в данный момент:
Принимать текст / html, application / xhtml xml, application / xml;q = 0.9,/;q = 0.8
Ответ №1:
Похоже, что информация заголовка не подходит для размещения и публикации, поэтому я решил просто расширить dojo.store.JsonRest.
/**
* Extend the dojo.store.JsonRest
*/
if(!dojo._hasResource["ext.store.JsonRest"]) {
dojo._hasResource["ext.store.JsonRest"] = true;
dojo.provide("ext.store.JsonRest");
dojo.require("dojo.store.JsonRest");
dojo.extend(dojo.store.JsonRest, {
put: function(object, options){
options = options || {};
var id = ("id" in options) ? options.id : this.getIdentity(object);
var hasId = typeof id != "undefined";
return dojo.xhr(hasId amp;amp; !options.incremental ? "PUT" : "POST", {
url: hasId ? this.target id : this.target,
postData: dojo.toJson(object),
handleAs: "json",
headers:{
"Content-Type": "application/json"
, "If-Match": options.overwrite === true ? "*" : null
, "If-None-Match": options.overwrite === false ? "*" : null
, "Accept": "application/javascript, application/json"
}
});
},
});
}
Ответ №2:
Сегодня у меня была такая же проблема, и в итоге я нашел обходной путь, подобный вашему. PEM в #dojo предложил мне сделать для него запись trac, так что, надеюсь, это будет исправлено в ближайшем будущемbugs.dojotoolkit.org/ticket/12826.