任何身体都可以帮助我..我在jquery电子邮件验证中有一些问题,我想检查一下这封电子邮件是否已经注册..我试过但我的代码不能正常工作(即没有显示错误信息)
这是脚本
$(document).ready(function(){
$("add_form").validate( {
rules: {
email: {
required: true,
email: true,
remote: "emails.php"
},
},
messages: {
email: {
remote: jQuery.format("{0} is already in use")
}
},
});
和emails.php文件代码在这里
<?php
$request = trim(strtolower($_REQUEST['email']));
require 'db.inc.php';
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or
die ('Unable to connect. Check your connection parameters.');
mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db));
$query = 'SELECT email FROM Users WHERE email="'.$request.'"';
$result = mysql_query($query, $db) or die(mysql_error());
$valid = 'true';
if (mysql_num_rows($result)>0)
{
$valid = '"Thats already taken."';
}
echo $valid;
?>
答案 0 :(得分:0)
根据文档,远程验证的响应是JSON编码的布尔值,而不是JSON编码的字符串。
你有“真”或“假”,它将成为“\”true \“”或“\”false \“”通过json_encode(),这是错误的。实际的真或假将变为“真”或“假”,这是正确的。
将响应内容类型设置为JSON也可能是一个好主意:
header('Content-type:application / json');