Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – Axios verwendet x-www-form-urlencoded, die POST-Formular-PHP-Eingabeaufforderung ist veraltet

Ergebnisse zurückgeben

Veraltet: Das automatische Auffüllen von $HTTP_RAW_POST_DATA ist veraltet und wird in einer zukünftigen Version entfernt. Um diese Warnung zu vermeiden, setzen Sie „always_populate_raw_post_data“ in php.ini auf „-1“ und verwenden Sie stattdessen den php://input-Stream in Unknown 0

1 Die folgenden js werden als veraltet gemeldet

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

2 Die folgenden js melden keinen Fehler

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

Aber bei Verwendung von Methode 2 werden die booleschen Daten in this.formItem zu „True“ / „False“
Wenn daher der Feldtyp bool in MySQL in der Datenbank gespeichert wird, kann „True“ nicht als entsprechende 1 gespeichert werden . Und es ist immer 0

Ich möchte php.ini nicht ändern, ich verwende laravel5.2
Der Code zum Abrufen der Daten

Input::all();

Wie vermeide ich Fehler und speichere sie richtig? Wenn ich php://input verwende, wie ändere ich es?

过去多啦不再A梦过去多啦不再A梦2708 Tage vor1053

Antworte allen(2)Ich werde antworten

  • PHP中文网

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

    不是 POST 表单过时。你是用的软件做的翻译吗?

    Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version.

    这句话的意思是 $HTTP_RAW_POST_DATA 常量过时了,并且会在下一个版本中移除。

    但是这个版本还有,这是一个警告

    后面给出了解决方案。

    2 种:

    • 在 php.ini 配置文件种,把 always_populate_raw_post_data 设置为 -1

    • 不要使用 $HTTP_RAW_POST_DATA,而是使用 php://input 代替。

    Antwort
    0
  • typecho

    typecho2017-06-14 10:51:57

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

    Antwort
    0
  • StornierenAntwort