Improvvisamente, apparentemente senza cambiare nulla nella mia web app, ho iniziato a ricevere CORS errori quando lo si apre in Chrome. Ho provato ad aggiungere un header Access-Control-Allow-Origin: *
. Allora ottengo questo errore:Access-Control-Allow-Origin: "*" non sono ammessi quando le credenziali flag è vero, ma non c'è Access-Control-Allow-Credenziali intestazione
XMLHttpRequest cannot load http://localhost:9091/sockjs-node/info?t= 1449187563637. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'http://localhost:3010' is therefore not allowed access.
Ma come si può vedere nella figura seguente, non c'è Access-Control-Allow-Credentials
intestazione.
WTF? Bug di Chrome?
La mia pagina viene caricata allo http://localhost:3010
e il server utilizza anche Access-Control-Allow-Origin: *
senza problemi. C'è un problema se i due endpoint lo usano entrambi?
Sì Quando si effettua una chiamata AJAX con il parametro conCredentials: true, l'intestazione della risposta deve avere Access-Control-Allow-Credentials = true. Di conseguenza, queste intestazioni non consentono l'utilizzo di Access-Control-Allow-Origin = * Per ulteriori informazioni, sul parametro withCredential e l'intestazione di risposta, consultare questo articolo: http://www.ozkary.com /2015/12/api-oauth-token-access-control-allow-credentials.html – ozkary
Lo stesso qui, pensavo che il messaggio di errore si riferisse all'intestazione. Non ero a conoscenza del flag 'withCredentials'. Strano. – BastiBen
Ho inoltrato un bug cromato sul fatto che il messaggio sia confuso e, se ricordo bene, l'hanno preso sul serio – Andy