我正在尝试使用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']不显示输入中添加的用户名,请帮助我解决此问题。谢谢!