如何使用Fetch API更新php $ _POST数组

时间:2018-11-12 18:09:00

标签: javascript php fetch

我正在尝试使用fetch API将表单数据发送到我的php文件,但是没有任何效果。

这是我的.js文件

form.addEventListener("submit", e => {
       e.preventDefault();

  let message = document.getElementById("message").value,
    name = document.getElementById("name").value;

  let object = {
    name,
    message
  }
  //Apply encodeURIComponent to element
  function formEncode(obj) {
    var str = [];
    for (var p in obj)
      str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
    return str.join("&");
  }

  fetch("http://localhost/essai/script.php", {
    method: "POST",
    mode: "same-origin",
    credentials: "same-origin", // For COOKIES
    headers : {
      'Content-type': ''
    },

    body: formEncode(object)
  })
    .then(response => response.text)
    .catch(err => console.log(`Une erreur s'est produite : ${err}`))
});

这是我的.php文件

<?php
$contentType = isset($_SERVER["CONTENT_TYPE"]) ? trim($_SERVER["CONTENT_TYPE"]) : '';

if ($contentType === "application/json") {
  //Receive the RAW post data.
  $content = trim(file_get_contents("php://input"));

  $decoded = json_decode($content, true);

  //If json_decode failed, the JSON is invalid.
  if(! is_array($decoded)) {
    echo $_GET['name'];
  } else {
    // Send error back to user.
    echo "Une erreur s'est produite";
  }
}

echo $ _POST ['name']不显示输入中添加的用户名,请帮助我解决此问题。谢谢!

0 个答案:

没有答案