0
私はこのコードを実行して、ユーザー入力に基づいてデータを表示しようとしています。エラー接続も正しく行われませんが、名前を入力すると常にelse部分に入りますreadyStateの値であるreadyStateの値は決して4ではありません。 誰かが私にこれらのコードに間違っていることを教えてもらえますか? はここに私のJavaScriptのコードです:readyStateのAjax値は常に4以外です
function ajax() {
var xhr;
console.log("test");
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
//xhr = new ActiveXObject('Microsoft.XMLHTTP');
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
var jsondata = "";
xhr.open("POST", "index.php");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.success == 200) {
jsondata = JSON.parse(xhr.responseText);
document.getElementById("divId").innerHTML = jsondata[0].name;
}
} else {
console.log("request is not completed");
console.log(xhr.readyState);
}
}
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var element = document.getElementById("sbmt");
var elemenTxt = document.getElementById("txt");
if (element) {
element.addEventListener("click", function() {
var store = elemenTxt.value;
var storeVa = "datafound=" + store;
console.log(store);
console.log(storeVa);
xhr.send(storeVa);
})
}
}
ajax();
そして、ここに私のPHPコードです:
<?php
$dbhost = "localhost";
$username = "root";
$password = "";
$con=mysqli_connect($dbhost,$username,$password);
mysqli_select_db($con,"trynew") or die(mysqli_error());
if (isset($_POST["datafound"])) {
$user = $_POST['datafound'];
}
$query = "SELECT * FROM trynewtable where name = '$user' ";
$all_result = array();
$result = mysqli_query($con,$query);
if($result==FALSE)
{
die(mysqli_error());
}
while($row = mysqli_fetch_assoc($result))
{
$all_result[] = $row;
}
header('Content-Type: application/json');
$jsondata = json_encode($all_result);
echo $jsondata;
mysqli_close($con);
?>
readyStateの値は? – epascarello