Когда эта функция запущена, request.status = 0. Обычно это означает, что сеть не работает, но поскольку веб-страница загружена, это невозможно. Я думаю, что это может быть потому, что я использую XAMPP и работаю на локальном хосте, но я не уверен, как решить проблему.
Вот функция JavaScript:
<script type="text/javascript">
function submitForm() {
var userKey;
var username = login_form.elements["username"].value;
function getKey() {
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if(request.readyState == 4 && request.status == 200){
userKey = request.responseText;
}
}
request.open("POST", "key.php", true);
request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
request.send("username="+username);
}
getKey();
}
</script>
Вот функция php, называемая «key.php». Он находится в той же папке, что и HTML-файл:
<?php
if (array_key_exists('username', $_POST)) {
$username = $_POST['username'];
echo '<script language="javascript">';
echo 'alert("message successfully sent")';
echo '</script>';
} else {
echo 'Invalid parameters!';
}
?>
Задача ещё не решена.
Других решений пока нет …