Maison  >  Questions et réponses  >  le corps du texte

javascript - axios utilise x-www-form-urlencoded, l'invite PHP du formulaire POST est obsolète

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梦2660 Il y a quelques jours1013

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-06-14 10:51:57

    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.

    répondre
    0
  • typecho

    typecho2017-06-14 10:51:57

    //接受 post
    $data = file_get_contens('php://input');

    répondre
    0
  • Annulerrépondre