我正在使用JsonRestStore,但想为它添加一个自定义Accept标头.最好的方法是什么? 这与dijit.layout.ContentPane允许您通过设置ioArgs影响基础XHR的方式类似.所以问题可能是“什么是JsonRestStore的
这与dijit.layout.ContentPane允许您通过设置ioArgs影响基础XHR的方式类似.所以问题可能是“什么是JsonRestStore的ioArgs?”
我正在使用声明性语法,但很乐意看到这两种方法……
(请注意:我对通过修改基础XHR来解决这个问题并不感兴趣.)
您最好的选择是为JsonRestStore提供定制服务.我发现这样做最简单的方法是从dojox.rpc.Rest构建服务.在构造函数中,您可以提供一个函数来为所有XHR请求创建请求参数.例如.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参数,该参数可以包括服务的排序和范围参数.
这些链接将提供更多信息:
> Use Dojo’s JsonRestStore with your REST services:IBM developerWorks文章,其中包含更高级和可自定义的解决方案
> RESTful JSON + Dojo Data:Sitepen帖子
> dojox.rpc.Rest源文件(查找service._getRequest)