javascript - Att använda fetch() med en bärartoken och mode: 'no-cors' ger 401 Unauthorized
Jag försöker hämta data från ett API genom att göra detta:
const url = `https://......`
console.log('DEBUG TOKEN', `Bearer ${token}`) // is correct
const response = await fetch(url, {
method: 'POST',
mode: 'no-cors',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`,
},
body: JSON.stringify(postString),
})
Problemet är att det returnerar ett 401 (obehörig) fel. Om jag gör samma förfrågan med curl, fungerar det:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ........asdfasdf....." \
-d '{"my":"json","data":"here"}' \
"https://......"
Jag använder samma payload, token och adress för både fetch() och curl.
Vad är fel med min fetch()-kod här?
Svar #1
Problemet är
mode: 'no-cors',
Såvitt jag förstår tar den också bort auktoriseringshuvuden. Utan det fungerar det.
