dojo – 为JsonRestStore设置HTTP Accept标头

我正在使用JsonRestStore,但想为它添加一个自定义Accept标头.最好的方法是什么?
这与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)

相关文章

我有一个网格,可以根据更大的树结构编辑小块数据.为了更容易...
我即将开始开发一款教育性的视频游戏.我已经决定以一种我可以...
我正在使用带有Grails2.3.9的Dojo1.9.DojoNumberTextBox小部...
1.引言鉴于个人需求的转变,本系列将记录自学arcgisapiforja...
我正在阅读使用dojo’sdeclare进行类创建的语法.描述令人困惑...
我的团队由更多的java人员和JavaScript经验丰富组成.我知道这...