2011-02-13 11 views
5

için HTTP Accept başlığını ayarlama JsonRestStore kullanıyorum ancak buna özel Accept başlığı eklemek istiyorum. Bu konuda gitmenin en iyi yolu nedir? Bu, dijit.layout.ContentPane'in ioArgs öğesini ayarlayarak alttaki XHR'yi nasıl etkileyebildiğinize benzer. Yani soru "JsonRestStore'un ioArgs nedir?" Ben bildirime sözdizimi kullanıyorum, ancak memnuniyetle iki yöntem görmek istiyorumJsonRestStore

...

(Lütfen dikkat:. Ben baz xhr değiştirerek bu yolumu hack ilgilenmiyorum)

cevap

1

En iyi bahsiniz, JsonRestStore'a özel bir hizmet vermektir. Bunu yapmanın en kolay yolu hizmeti dojox.rpc.Rest'dan oluşturmaktır. Yapıcıda, tüm XHR istekleri için istek argümanlarını oluşturmak için bir işlev sağlayabilirsiniz. Örneğin.

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 }); 

Bu tamamen hizmete sıralama ve aralık bağımsız değişkenleri içerebilir args parametreyi yok sayar.

( service._getRequest arayın)