jQueryvalidation远程方法的用法,以检查用户名是否已经存在
我想validation用户名是否存在于数据库中使用jQuery.validate所以这里是我到目前为止:
jQuery的:
$("#signupForm").validate({ rules: { username: { required: true, minlength: 3, remote: "check-username.php" } }, messages: { username:{ remote: "This username is already taken! Try another." } } });
入住username.php:
<?php require_once "./source/includes/data.php"; header('Content-type: application/json'); $name = mysql_real_escape_string($_POST['username']); $check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username='$name'"); if (mysql_num_rows($check_for_username) > 0) { $output = true; } else { $output = false; } echo json_encode($output); ?>
这段代码总是显示一个错误,即使用户名不是这个用户名。
我正在使用jQuery Mobile 1.9.1
提前致谢。
我设法通过改变我使用的PHP技术来实现这个function,这里是我的PHP:
<?php require_once "./source/includes/data.php"; header('Content-type: application/json'); $request = $_REQUEST['username']; $query = mysql_query("SELECT * FROM mmh_user_info WHERE username ='$username'"); $result = mysql_num_rows($query); if ($result == 0){ $valid = 'true';} else{ $valid = 'false'; } echo $valid; ?>
感谢大家在这里的帮助:)
我有两个资源可以查看。
validate插件的官方示例: http : //jquery.bassistance.de/validate/demo/milk/
jQuery论坛解决scheme: http : //forum.jquery.com/topic/jquery-validation-plugin-remote-validation-problem-locks-up
可能的解决scheme是,响应不需要被json编码,据我所知。 由于json需要键值对,所以只提供值是行不通的。 所以试着把它作为“真”或“假”string来回显。
其次,validate使用GET作为表单提交方法,而不是POST。
注意:JUST FOUND可能的解决scheme问题jQuery远程validation