J'ai écrit une simple API de crud PHP et je reçois dans l'API Un fichier nommé Create.php est responsable de l'insertion de nouveaux éléments Dans la base de données, il vérifie si les données qu'il reçoivent d'Ajax n'est pas vide, puis procédez à la création si elle est vide, il envoie un mais, peu importe Ce que je fais, il envoie toujours le Je pensais que le problème venait d'Ajax en premier, mais après le débogage, j'ai découvert que Ajax En fait, obtient les données appropriées de la forme et l'envoie. p> voici mon fichier create.php p> et voici mon ajax: p> Après avoir rempli le formulaire et la soumission au lieu d'ajouter l'entrée à la base de données et d'envoyer un et c'est le résultat de mon la chose étrange est quand je commission Ent le http_response_code (400) code> Peu importe ce que je fais.
http_response_code (400) code>. P>
http_response_code (400) code> même si les données ne sont pas vides. P>
201 ok code> Cela me montre l'erreur suivante: p >
console.log code> p>
http_response_code (400) code> ligne dans mon
Créer.php code> Le fichier Ça fonctionne parfaitement quelqu'un a une idée de la cause de ce comportement? p> p>
3 Réponses :
Essayez de mettre en-tête () dans votre fichier create.php:
J'ai oublié de dire que j'ai déjà la tête identique à celle que vous avez postée
[Thu Sep 12 08:21:07 2019] :: 1: 13610 [400]: /Consumable/create.php code>
json_decode retourne Sachez également que null code> s'il ne peut pas le décoder. Il semble que ce soit juste ça. Peut-être avez-vous besoin de
url_decode code> et / ou
Stripslashes code> le contenu avant de pouvoir le décoder. Comme Ahmed dit, essayez de générer la variable code> $ code> et la sortie du
json_decode code> et
file_get_contents ("PHP: // entrée"); code > Et vous verrez l'erreur assez tôt. P>
! vide (0) code> et
! vide (false) code> retourne
vrai code>. Donc, si votre variable a une valeur qui est 0 ou false, il retournera également 400 dans ce cas. Ce n'est pas le problème dans votre exemple, mais pourrait devenir un problème plus tard. P>
Le problème a été causé par le fait que le type code> dans mes en-têtes était
application / json code> et j'utilisais Postman pour tester et je l'avais laissé à défaut
Type de contenu code> qui est
texte code> p>
Pouvez-vous
var_dump ($ données) code> juste avant votre si et montrez-vous ce qu'il dit?