Ho fatto qualche ricerca su internet, ma non sono riuscito a ottenere il quadro completo su questo argomento. Qualcuno può aiutare a risolvere questa risposta per ora e per sempre?Posso impostare le intestazioni nelle richieste json tra domini diversi?
Questo è quello che ho trovato finora:
- E 'possibile fare chiamate dominio croce con jsonp. La modifica delle intestazioni nella chiamata jsonp non è mai consentita
- È possibile effettuare chiamate interdominio con json se il server lo consente.
questo è quello che sto cercando di fare:
$.ajax({
type: "GET",
crossDomain: true,
beforeSend: function (request) {
request.setRequestHeader("Authorization", "Bearer " + ($("#accesstoken").val()));
},
contentType: "application/json; charset=utf-8",
url: myJSonServer + encodeURI(operation),
dataType: 'json',
cache: false,
success: callback,
error: function (jqXhr, textStatus, errorThrown) { alert(textStatus + ": " + errorThrown); }
});
Questo è ciò che sta accadendo:
- Quando il myJSonServer è sullo stesso dominio, non v'è alcun problema a tutti
- Quando myJSonServer si trova su un altro dominio, la richiesta viene inviata, ma senza l'intestazione Bearer
Questa intestazione Bearer fa parte dello standard oAuth2.
Sono consapevole del fatto che forse questa non è la soluzione migliore, impostando accessToken nel Browser. E so che potrei usare un proxy per questa situazione.
Sono curioso di sapere se è o sarà possibile impostare le intestazioni su una richiesta json tra domini diversi?
Grazie
- problema risolto
stavo usando MVC4 e ha aggiunto crossDomainScriptAccessEnabled = "true" nel web.config. Pensavo che sarebbe bastato, ma la risposta di apsillers ha risolto il mio problema. Ora ho aggiunto questo nel mio web.config:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Authorization" />
</customHeaders>
</httpProtocol>
</system.webServer>
Possibile duplicato dell'intestazione di "autorizzazione" incrociata con jquery.ajax()] (http://stackoverflow.com/questions/9559947/cross-origin-authorization-header-with-jquery-ajax). – apsillers