Envoi de données avec text/plain ou application/json
bonjour
j'essais desesperement d'envoyer des donne sur mon serveur php 8.0 depuis le dernier firefox.
avec x-www-form-urlencoded' cela fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| let url = new URL('http://truc.com');
url.searchParams.set('un', 'premier');
url.searchParams.set('deux', 'seecond');
let response = await fetch('ajax/test.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: url
}); |
ainsi qu'avec formdata
Code:
1 2 3 4 5 6 7 8 9
| const formData = new FormData();
formData.append("un", "premier");
formData.append("deux", 'second');
let response = await fetch('ajax/test.php', {
method: 'POST',
body: formData
}); |
par contre ca ne fonctionne pas avec du texte
Code:
1 2 3 4
| let response = await fetch('ajax/test.php', {
method: 'POST',
body: 'premier'
}); |
ni avec du json (ce qui m'interresse le plus)
Code:
1 2 3 4 5 6 7 8 9 10
| let response = await fetch('ajax/test.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8'
},
body: JSON.stringify({
un: 'premier',
deux: 'second'
})
}); |
Dans tous les cas le navigateur envoie bien la bonne requette , exemple pour le dernier
Code:
{"un":"premier","deux":"second"}
par contre en inspectant le post recu sur le serveur avec xdebug, seul les deux premiers code me permettent de completer correctement le post.
D'ou viens le probleme? erreur dans mon javascript , ou probleme de config du serveur?
merci pour votre aide