Ich habe versucht, einen API-Aufruf an eine andere Domäne zu senden, die keine Cors aktiviert hat. so etwas wie diesesAnforderungsheader, der nicht als Parameter an API-Aufrufe gesendet wird
wurde der API-Aufruf gemacht:
let url = `https:sampleApiUrl?params=xxxx`;
console.log("hitting dashboard url")
get(url, token)
.then((resp) => {
console.log("resp", resp)
})
.catch((error) => {
console.log(error)
})
Dieser Aufruf API, anschließend ruft ein 'get' -Methode:
const get = (url, authToken) => {
return baseFetch(url, 'get', false, authToken).then(response => {
if (response.status >= 200 && response.status < 300) {
return response.json();
} else {
const error = new Error(response.statusText);
error.response = response;
throw error;
}
});
}
Nun, diese Methode Anrufe erhalten eine baseFetch-Methode:
const baseFetch = (url, verb, body, authToken) => {
const request = {
method: verb,
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'Access-Control-Allow-Origin': '*',
'credentials': 'include'
},
mode: 'cors'
}
if (authToken){
// adding x-access-token in the request header
request.headers['x-access-token'] = authToken;
}
if (body){
request.body = JSON.stringify(body);
}
return fetch(url, request);
}
Jetzt, wenn dieser API-Aufruf angefordert wird, kann ich nicht sehen, dass das "x-access-token" in den Browser-Netzwerkaufruf eingetragen ist.
No x-access-token in request-headers
Auch bin ich nicht sicher, warum ich den Statuscode 204 als Antwort bekommen. Der Aufruf dieser API vom Postboten und direkt vom Browser oder Aufruf als Curl-Anforderung gibt die richtige Antwort zurück.
Dank