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