javascript - axios utilise x-www-form-urlencoded, l'invite PHP du formulaire POST est obsolète
过去多啦不再A梦
过去多啦不再A梦 2017-06-14 10:49:57
0
2
1062

Retour des résultats

Obsolète : le remplissage automatique de $HTTP_RAW_POST_DATA est obsolète et sera supprimé dans une version future. Pour éviter cet avertissement, définissez 'always_populate_raw_post_data' sur '-1' dans php.ini et utilisez plutôt le flux php://input dans Inconnu en ligne. 0

1 Les js suivants seront obsolètes

axios.post('/api/code/create', this.formItem)

2 Les js suivants ne signaleront pas d'erreur

axios.post('/api/code/create', window.qs.stringify(this.formItem))

Mais en utilisant la méthode 2, les données booléennes de this.formItem deviendront "True" / "False"
En conséquence, lorsque le type de champ bool dans MySQL est stocké dans la base de données, "True" ne peut pas être enregistré comme correspondant 1 . Et il est toujours 0

Je ne veux pas modifier php.ini, j'utilise laravel5.2
Le code pour récupérer les données

Input::all();

Comment éviter les erreurs et les stocker correctement ? Si vous utilisez php://input, comment le modifier ?

过去多啦不再A梦
过去多啦不再A梦

répondre à tous(2)
洪涛

Non Les formulaires POST sont obsolètes. Avez-vous utilisé un logiciel pour faire la traduction ?

Obsolète : le remplissage automatique de $HTTP_RAW_POST_DATA est obsolète et sera supprimé dans une future version.

Cette phrase signifie $HTTP_RAW_POST_DATA Les constantes sont obsolètes et seront supprimées dans la prochaine version.

Mais cette version existe toujours, et c'est un avertissement.

La solution est donnée ci-dessous.

2 types :

  • Dans le fichier de configuration php.ini, mettez always_populate_raw_post_data 设置为 -1

  • N’utilisez pas $HTTP_RAW_POST_DATA, utilisez plutôt php://input.

typecho
//接受 post
$data = file_get_contens('php://input');
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal