2011-02-13 17 views
5

Estoy usando JsonRestStore pero me gustaría agregarle un encabezado Accept personalizado. ¿Cuál es la mejor manera de hacerlo? Esto es similar a cómo el dijit.layout.ContentPane le permite afectar el XHR subyacente configurando ioArgs. Entonces, la pregunta podría ser "¿qué es JioRestStore's ioArgs?"Configuración del encabezado HTTP Accept para JsonRestStore

estoy usando la sintaxis declarativa, pero con mucho gusto me gustaría ver los dos métodos ...

(Nota:. No estoy interesado en la piratería mi forma de evitar esto mediante la modificación de la base de XHR)

Respuesta

1

Su mejor opción es proporcionar un servicio personalizado al JsonRestStore. La manera más fácil que encontré de hacer esto es crear el servicio en dojox.rpc.Rest. En el constructor puede proporcionar una función para crear los argumentos de solicitud para todas las solicitudes XHR. P.ej.

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

Esto ignora por completo el parámetro args que puede incluir la clasificación y el alcance argumentos a su servicio.

Estos enlaces proporcionarán más información:

Cuestiones relacionadas