我正在使用JsonRestStore,但想为其添加自定义Accept标头。最好的方法是什么? 这与dijit.layout.ContentPane允许您通过设置ioArgs影响基础XHR的方式类似。所以问题可能是“什么是JsonRestStore的ioArgs?”
我正在使用声明性语法,但很乐意看到这两种方法......
(请注意:我对通过修改基础XHR来解决这个问题并不感兴趣。)
答案 0 :(得分:1)
您最好的选择是为JsonRestStore
提供自定义服务。我发现这样做的最简单方法是从dojox.rpc.Rest
构建服务。在构造函数中,您可以提供一个函数来为所有XHR请求创建请求参数。 E.g。
function getRequest(id, args) {
return {
url: '/service/' + id,
handleAs: 'json',
sync: false,
headers: {
Accept: 'your custom header'
}
}
}
var service = new dojo.rpc.Rest('/service/', true /*isJson*/,
undefined /*schema*/, getRequest);
var store = new dojox.data.JsonRestStore({ service: service });
这完全忽略了args
参数,该参数可以包括服务的排序和范围参数。
这些链接将提供更多信息:
service._getRequest
)