2017-08-12 1 views
0

Je fais une requête d'extraction à distance sur un serveur. La charge utile est au format JSON, je souhaite donc remplacer l'en-tête Content-Type par application/json. Je l'ai utilisé le code suivant pour ce faire:Définition de Content-Type dans la requête d'extraction ne fonctionnant pas

let email = document.getElementById("email").value 
let password = document.getElementById("password").value 

const body = {"email":email, "password":password} 
const headers = new Headers({ 
    "Content-Type": "application/json", 
    "Content-Length": JSON.stringify(body).length 
}) 
const options = { 
    method: "POST", 
    mode: "no-cors", 
    headers: headers, 
    body: JSON.stringify(body) 
} 
console.log(options) 
const response = await fetch('http://xx.xx.xx.xxx/login', options) 
const json = await response.json() 
console.log(json) 

Cependant, dans la console d'outils de développement Chrome, l'en-tête Content-Type de la demande est toujours text/plain;charset=UTF-8. Qu'est-ce que je fais mal?

+0

Copie possible de [Fetch: données post json, application/json changement en texte/plain] (https://stackoverflow.com/questions/39689386/fetch-post-json-data-application-json-change-to -text-plain) – CodeZombie

Répondre

1

Le remplacement de l'en-tête de demande Content-Type n'est pas autorisé pour les requêtes no-cors.

Changez le mode en cors.

+0

Vous avez raison. – guest271314