0
我试着从JSON和jQuery开始。我根本不是一个JavaScript程序员,所以我正在混合和匹配,并且有很多问题让我的代码工作。我以为有人可以帮助我。jQuery/JSON/CodeIgniter - 表单验证
我有一个使用下面的PHP代码检查电子邮件地址与注册系统的模型:
function is_email_available($email) {
$this->db->select('1', FALSE);
$this->db->where('LOWER(email)=', strtolower($email));
$this->db->or_where('LOWER(new_email)=', strtolower($email));
$query = $this->db->get($this->table_name);
return $query->num_rows() == 0;
}
上面的代码是由我的Ajax控制器使用以下被称为,如果注册回报JSON true或false
function email_availability() {
// Check to see if the username is available or taken
if ($this->users->is_email_available($this->input->post('emailaddress'))) {
echo json_encode(TRUE);
} else {
echo json_encode(FALSE);
}
}
以上是从我的JS文件中使用以下jQuery的调用,但它似乎并没有在所有的工作。
if(iEmail.val()) {
$.ajax({
url: '/ajax/email_availability',
data: 'emailaddress=' + iEmail.val(),
dataType: 'json',
type: 'post',
success: function(msg) {
iEmail.next('.error').text('This Email Address is not registered');
error = true;
}
});
}
我想我的jQuery完全关闭,但无法弄清楚。任何帮助将不胜感激。
哪里出错?在请求部分还是在响应中?检查萤火虫,如果您的PHP页面的请求实际上发送 – gpasci 2013-03-06 15:32:37
@gpasci - 它只是返回“真”,如果输入的电子邮件地址不在数据库中 – BigJobbies 2013-03-06 15:35:58
你不需要使用json_encode(true)。相反,你可以只回声1或0.另一件事你会得到任何错误?哪里?您是否尝试过使用萤火虫或Chrome开发人员工具调试您的代码? – 2013-03-06 15:38:56