私はこの問題を2時間以上苦労しており、合理的な解決策を見つけることができます。 --->この矢印でマークされたif文を取り除くなら。その上にalert()が機能します。それは私がちょうど(真)を置くとトリガされますが、それは次の条件では動作しません。私はこの言語ではあまりよくありません。学校のプロジェクトのためにそれを終わらせてください。私はそれが何か小さいと確信していますが、猫は自分でそれを把握します。Javascript AJAX PHP if文が動作しない
Java Script Function
function checkLogin(str) {
if (str.length == 0) {
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var ret = xmlhttp.responseText;
----> if (ret == "match"){
alert("Login name already exists !");
}
}
}
xmlhttp.open("GET", "loginCheck.php?q=" + str, true);
xmlhttp.send();
}
}
PHP Code
/*
<?php
include 'db.inc.php';
date_default_timezone_set("UTC");
$login = $_REQUEST["q"];
$sql = "SELECT * FROM staffMembers";
if (!($result = mysqli_query($con,$sql))){
die ('An Error ->' . mysqli_error());
}
while ($row = mysqli_fetch_array($result)){
$firstName = $row['nameLogin'];
$ret="true";
if($firstName == $login){
$ret = "match";
break;
}
}
mysqli_close($con);
echo $ret;
?>
*/
これはおそらくサーバーが「一致」を返さないことを意味します。その 'if'文の外側で' alert(ret); 'を試してください。何を手に入れますか? – blex
すべての基本的なデバッグが完了しましたか? 'console.log(ret)'を呼び、実際に何が戻ってくるのか見てみましょう。 JSはhtmlや、あなたのサーバから吐き出されるものを理解していないことに注意してください。これは何らかの出力を受け取り、 'ret'に入れます。そのため、あなたのコードがPHP警告を出すと、その警告は' ret'の一部になります。 –
次回はデバッグしようとします。私はまだ非常に緑色です。ありがとうございました –