我正在研究一个支持jQuery的注册表单,我正在使用jQuery检查所有输入,剩下的唯一事情是查看用户是否选择了已注册的名称。
这是我的Ajax请求:
$.ajax({
type: "POST",
url: "check_user.php",
data: "username="+username,
success: function(){
errors.push('Your username is taken.');
}
});
并且check_user.php:
<?php
include_once('../lib/config.php');
$username = $_POST['username'];
$query = mysql_query("SELECT * FROM `users` WHERE `username` = '$username'");
if(mysql_num_rows($query) == 1) {
header("HTTP/1.1 200 OK");
}
?>
我知道errors.push();工作,因为当我试图弄清楚之前的Ajax请求有什么问题时,每当我点击'注册'时,我的注册页面上都会显示'用户名被采取'消息。现在根本没有任何东西出现。
以下是我的整个注册页面:http://pastebin.org/66815
答案 0 :(得分:2)
文件(signup.php)位于C:\ xampp \ htdocs \ register \ user \ signup.php
我正在使用.htaccess和RewriteRule ^signup user/signup.php
并在http://localhost/signup查看。当我删除了RewriteRule并得到http://localhost/register/user/signup.php时,一切正常。
所以我将url: "check_user.php"
更改为"url: user/check_user.php"
,一切正常。我不知道.htaccess就是那个坏人。