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