0
GET 요청과 완벽하게 작동하는 AJAX 예제를 구현하려고하지만 POST를 통해 전송할 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까 ? PHP가받은 POST 객체는 항상 비어 있습니다. 어떤 조언을 주셔서 감사합니다!Ajax Post 대 GET
HTML & 자바 스크립트 :
<html>
<head>
<title> Create a new user</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
function checkUser(){
xhttp = new XMLHttpRequest();
xhttp.open("POST","usercheck.php",true);
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
var data = xhttp.responseText;
alert("Benutzer" + data);
}
}
xhttp.send("username=" + encodeURIComponent(document.getElementById("username").value));
}
</script>
</head>
<body>
<p>User:</p><br>
<input type="text" id="username" name="username">
<button onclick="checkUser();"> Check </button>
</body>
</html>
PHP 코드 :
<?php
$usernames = array("admin", "gast", "paul");
$validate_pattern = "/^[a-z0-9]{4,20}$/";
if (!isset($_POST["username"])) {
die("{valid:false,message:false}");
}
if (in_array($_POST["username"], $usernames)) {
die("{valid:false,message:'Username is used!'}");
}
if (!preg_match($validate_pattern, $_POST["username"])) {
die("{valid:false,message:'Username wrong.'}");
}
echo "{valid:true,message:false}";
?>
[레이블을 사랑하는 법을 배우십시오] (http://www.456bereastreet.com/archive/200711/use_the_label_element_to_make_your_html_forms_accessible/) – Quentin
결과 에코가 올바른 JSON 형식을 반환하는지 확인하십시오. – Fallenreaper
@Fallenreaper : 여기에는 JSON이 없으며 어쨌든 밀접하지 않습니다. – dandavis