2015-08-21 6 views
5

Come posso gestire la politica CORS in Web Worker? Vorrei fare una chiamata HTTPS in un operaio, ma getta la seguente eccezione CORS:Come consentire a WebWorker di chiamare l'URL HTTPS

XMLHttpRequest non può caricare xxxx localhost origine non è consentita da Access-Control-Allow-Origin.

Forse dovrei dire che sto testando su un browser Safari

+0

Che tipo di eccezione? –

+0

"XMLHttpRequest non può caricare https: // xxxx Origine http: // localhost non è consentito da Access-Control-Allow-Origin." –

+0

Quali sono la posizione del file principale, dell'operatore e del file a cui si accede? – Azukaar

risposta

0

non posso commentare in modo da aggiungere i miei 2 centesimi in "risposta". Sembra che tu non aver configurato le intestazioni CORS, è possibile seguire il grande tutorial qui: http://www.html5rocks.com/en/tutorials/cors/

BR, Saar

+0

ho già controllato e sì funziona, ma non in un lavoratore e questo è il problema. Qualcuno ha forse questa soluzione? –

+0

@MasoodMoshref Hai verificato che il server/dominio remoto sta restituendo l'intestazione ACAO e ancora non funziona in WebWorker? –

+0

Verifica se questo è utile http://stackoverflow.com/questions/25458104/can-should-html5-web-workers-use-cors-for-cross-origin –

0

con i lavoratori Web, è possibile iniettare script con importScripts(). Se il tuo server supporta JSONP, puoi effettuare direttamente una richiesta come questa:

importScripts('http://example.com?jsonp=HandleResponse'); 

function HandleResponse(data) { 
    // Do something with the data 
} 
0

Dipende dal tipo di server web. Per esempio. in Express.js (node.js) si rendono così:

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

Per altri server web vedono questo sito: http://enable-cors.org/server.html