Установка HTTP-заголовка Accept для JsonRestStore - PullRequest
5 голосов
/ 13 февраля 2011

Я использую JsonRestStore, но хотел бы добавить к нему пользовательский заголовок Accept.Какой лучший способ пойти по этому поводу?Это похоже на то, как dijit.layout.ContentPane позволяет вам влиять на базовый XHR, устанавливая ioArgs.Таким образом, вопрос может звучать так: «Что такое ioArgs JsonRestStore?»

Я использую декларативный синтаксис, но с удовольствием хотел бы увидеть оба метода ...

(Обратите внимание: я незаинтересован во взломе моего пути путем изменения базового XHR.)

1 Ответ

1 голос
/ 16 июня 2011

Ваш лучший выбор - предоставление услуги на 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, который может включать в себя параметры сортировки и диапазона для вашей службы.

Эти ссылки предоставят дополнительную информацию:

...