2012-11-28 15 views
5

Come impostare le intestazioni prima di consentire a brezza di effettuare una richiesta?Impostazione delle intestazioni AJAX in Breeze

Esempio: il mio servizio si aspetta che una determinata chiave faccia parte della richiesta in un nome di intestazione 'x-service-key'. Fino ad ora, stavo usando jquery ajax e amplificare, quindi abbastanza facile da configurare l'intestazione. Dal momento che non ho alcun controllo sulla richiesta che brezza sta facendo, come faccio a passare cose extra come le intestazioni di ?

Questa domanda è stata pubblicata da sujesharukil sui nostri forum IdeaBlade. Sto ripubblicando la domanda e la risposta qui poiché penso che sarà utile alla comunità Breeze Stack Overflow.

risposta

7

A partire da Breeze 0.70.1 ora supportiamo la possibilità di personalizzare completamente o sostituire qualsiasi comunicazione Ajax tra il client brezza e il servizio Web sul server.

La documentazione di Breeze sul nostro supporto Ajax è ancora in corso, ma si spera che quanto segue possa iniziare.

Per controllare le intestazioni su ogni richiesta Ajax effettuata da Breeze, è possibile eseguire il codice seguente all'avvio dell'app.

var ajaxImpl = breeze.config.getAdapterInstance("ajax"); 
ajaxImpl.defaultSettings = { 
     headers: { 
      // any CORS or other headers that you want to specify. 
      "X-Test-Header": "foo2" 
     }, 
}; 

In alternativa, è possibile intercettare le singole chiamate Ajax e aggiungere le intestazioni in modo selettivo in base alla richiesta.

var ajaxImpl = breeze.config.getAdapterInstance("ajax"); 
ajaxImpl.defaultSettings = { 
     beforeSend: function(jqXHR, settings) { 
       // examine the jqXHR or settings and customize the headers accordingly. 
       jqXHR.setRequestHeader("X-Test-Before-Send-Header", "foo2"); 
     } 
}; 
Problemi correlati