我有一段代码用于检查是否可以使用jQuery AJAX调用获得所需的用户名:
function check_username()
{
// Set user_name to the current value of input #new_user_name
var user_name = document.getElementById('new_user_name').value;
// Ajax to check availability of username
$.ajax({
url: '_check_username.php',
type: 'post',
data: { 'user_name': user_name },
success: function(data) {
var does_it_pass_or_fail = data;
if ( does_it_pass_or_fail === "fail" )
{
alert( "Sorry, the username already exists. does_it_pass_or_fail = " + does_it_pass_or_fail ); );
}
else
{
alert( "That username is available! does_it_pass_or_fail = " + does_it_pass_or_fail ); );
}
}, error: function() {
// Not sure what to put here...
}
});
}
脚本按预期工作 - 我在_check_username.php上检查MySQL数据库,并成功返回"传递"如果名称可用,或者"失败"如果已经采用该名称,则将其存储在JS变量do_it_pass_or_fail中。
然而,无论do_it_pass_or_fail是否包含"传递"或者"失败",我只得到回复"该用户名可用!"
所以,AJAX / PHP / MySQL部分似乎工作得很好,但是这个简单的JavaScript if语句让我感到难过!