sto usando chiamata ajax di jQuery per fare richiesta CORS e il suo lavoro, se ho impostatorichiesta jQuery CORS non funziona quando si invia richiesta Gamma
var headers = {};
Ma dal momento che il contenuto che sto cercando di ottenere è piuttosto grande , vorrei inviare intestazioni di gamma.
(questo è tutto provato e funzionando in stesso dominio)
Così, quando faccio questo:
var headers = {"Range":"bytes=" + start + "-" + end};
$.ajax({
url:url,
type:type,
headers:headers,
dataType:dataType,
success:function (data, status, jqXHR) {
//
}, error:function (data, status, jqXHR) {
//
}
});
al nostro altro dominio, la richiesta viene annullata in ultima cromato, e FF.
Se spengo le intestazioni, tutto funziona, ma poi ottengo megabyte di dati e il browser non può gestire/analizzare quella quantità di dati.
Ecco le intestazioni da server (i controllano questo, quindi posso modificarlo)
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: OPTIONS, GET, POST
Access-Control-Allow-Headers: Content-Type, Authorization, Accept, Range, Origin
Access-Control-Expose-Headers: Content-Range
Access-Control-Max-Age: 3600
Ho fatto qualcosa di sbagliato, o l'invio di richiesta di intervallo in CORS non è ancora implementata correttamente nei browser più recenti?
(Nota a margine, anche Chrome non restituisce le intestazioni, anche se mi permetto loro in Expose-intestazioni, ma che è noto bug di cromo mailing list, ma posso fare richiesta di uno get primi a scoprire le dimensioni del file)
Hai provato a impostare le intestazioni dal server per restituire il dominio effettivo che ha effettuato la richiesta per 'Access-Control-Allow-Origin' invece di' * '? –
sì, nulla cambia – kodisha
è l'URL del dominio incrociato che stai richiedendo è disponibile per testare –