我正在尝试制定一个方案,其中 Ajax 调用 upload.php 和 upload.php 将在消息中返回成功或失败。我尝试在 php 脚本中使用 echo "successs",希望 xhr.responseText 会收到该消息。但是 alert(xhr.responseText) 是一个空行。然后我突然想到,xhr.responseText 是否仅适用于 GET 而不适用于 POST?如果是这样,我怎样才能让它到 php 脚本可以返回自定义消息的位置?我不想使用 HTTP 状态代码...我宁愿学习如何在可能的情况下自定义消息。
请不要使用Jquery。
<?php
$tmp_name = $_FILES['file1']['tmp_name'];
$path = "/trunk";
$name = $path . DIRECTORY_SEPARATOR . $_FILES['file1']['name'];
$success = move_uploaded_file($tmp_name, $name);
if ($success) {
echo "good";
} else {
echo "bad";
}
?>
}
function uploadPHP() {
var xhr = new XMLHttpRequest(),
form = document.getElementById("uploadForm");
xhr.open("POST", "php/upload.php", true);
xhr.send(new FormData(form));
alert(xhr.responseText);
}