2016-09-06 1 views
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); 
?> 
+0

readyStateの値は? – epascarello

答えて

0

readyStateの後、それはxhr.statusではなく、成功する必要があり、私はそれを修正し、それが感謝の皆に取り組んでいます。

関連する問題