继承人的问题。我有一个 ajax 函数,它只是检查用户输入的电子邮件是否已被使用。
它使用的 php 脚本根据结果发送回“true”或“false”字符串。当我得到响应文本或下面函数中的“数据”变量时,看看它的 == 是否为“真”,它永远不会通过并且总是评估为假。
这很奇怪,因为当我在屏幕上打印出数据变量时,它应该显示为“true”,但在 if 语句中它只是不显示为等于“true”。不知道这里发生了什么。
阿贾克斯功能:
function check_email() {
var email = document.sign_up_form.email_first.value;
document.getElementById("email1").innerHTML = ' <img src="loading.gif" width="15">';
$.ajax({
type: "GET",
url: "java_check_email.php",
data: "email="+email,
success: function(data){
if(data == "true"){
document.getElementById("email1").innerHTML = ' <img src="check.png" width="15">';
document.getElementById("email4").innerHTML = '';
}
else {
document.getElementById("email1").innerHTML = ' <img src="xmark.png" width="15">';
document.getElementById("email4").innerHTML = 'Email is already in use<br>';
}
}
});
}
更新:
PHP 脚本看起来像这样
<?php
include('functions.php');
$email = $_GET['email'];
$query_check = "removed for obvious reasons...";
$result_check = mysql_query($query_check);
if(mysql_num_rows($result_check) == 0){
echo 'true';
}
else{
echo 'false';
}
?>
此外,在收到 ajax 响应时调用 console.log(data) 后,我在 js 控制台中得到了“true”值.....