Sto usando fetch polyfill con la modalità 'no-cors' e ottenendo lo stato di risposta 0. Negli strumenti di sviluppo posso vedere che la risposta ha i dati richiesti.Stato risposta = 0 utilizzando fetch polyfill con modalità: 'no-cors'
client codice lato:
const BASE_CONFIG = {
credentials: 'include',
mode: 'no-cors'
};
let checkStatus = (response) => {
if (response.status >= 200 && response.status < 300) {
return response;
} else {
var error = new Error(response.statusText);
error.response = response;
throw error;
}
};
function GET(url, urlParams={}, config={}) {
let requestConfig = {
method: 'get'
};
Object.assign(requestConfig, BASE_CONFIG, config);
return fetch(url, requestConfig)
.then(checkStatus)
.then(parseJSON);
}
GET('http://other.domain,{})
gestore di risposta Beckend nodejs (Express.js) semplificato:
function getData(req, res) {
var responseData = {data: 'test'};
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.writeHead(200, {"Content-Type": "application/json"});
return res.end(JSON.stringify(responseData));
}
Qualche idea su cosa sto facendo male? Grazie!
Ogni volta che si usa 'no-cors', si restituisce una risposta 'opaca' e non si può arrivare a JSON. Non sei sicuro di cosa si usi 'no-cors', in tal caso? Chiunque? – morgs32