2011-02-13 4 views
5

저는 JsonRestStore를 사용하고 있지만 사용자 지정 수락 헤더를 추가하려고합니다. 이것에 대해 가장 좋은 방법은 무엇입니까? dijit.layout.ContentPane을 사용하여 ioArgs를 설정하여 기본 XHR에 영향을 줄 수있는 방법과 비슷합니다. 따라서 질문은 "JsonRestStore의 ioArgs 란 무엇입니까?" 내가 선언적 구문을 사용하고 있지만, 기꺼이 두 가지 방법을 모두보고 싶습니다JsonRestStore에 대한 HTTP 수락 헤더 설정

...

(참고 :. 나는 기본 XHR을 수정하여이 주위에 내 방식 해킹에 관심이 아니에요)

답변

1

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 매개 변수를 무시합니다.

( service._getRequest 확인)