我想從我的視圖中的codeigniter控制器得到響應,但沒有成功。這裏是我的JavaScript文件中的代碼:如何獲得在codeigniter視圖中json ajax調用的響應?
// user enter his e-mail so check him against the database.
$("#formSendPassword").submit(function(e){
e.preventDefault();
var email = $(this).find("#checkemail").val();
var obj = {email: email};
var url = $(this).attr("action");
var data = {email: email};
$.post(url, obj,data, function(jsonResp){
console.log(success);
if(jsonResp.success) {
alert(jsonResp['success']);
$('#successMailMessage').fadeIn();
} else {
alert("Fail");
$('#errorMailMessage').fadeIn();
}
}, 'json');
})
在我的控制器代碼是如下:
public function checkEmail()
{
// set the validation rules
$this->form_validation->set_rules('checkemail', 'E-Mail', 'valid_email|required|trim|encode_php_tags');
$this->form_validation->set_error_delimiters('<br /><p class=jsdiserr>', '</p><br />');
// if validation is passed
if ($this->form_validation->run() != FALSE)
{
$ids=array();
$ids[0]=$this->db->where('email', $this->input->post('checkemail'));
$query = $this->backOfficeUsersModel->get();
if($query)
{
$data = array(
'userid' => $query[0]['userid'],
'username' => $query[0]['username'],
'password' => $query[0]['password'],
'firstname' => $query[0]['firstname'],
'lastname' => $query[0]['lastname'],
'email' => $query[0]['email']
);
$jsonResp['success'] = "Ok";
$jsonResp = array();
} else {
// echo json_encode(array("success" => false, "error" => "Wrong email"));
$jsonResp['success'] = "Fail";
}
// form validation has failed
} else {
$errorMessage = "Please enter valid e-mail";
}
} // end of function checkEmail
正如你所看到的,我試圖在CONSOLE.LOG我的js文件的成功,但沒有成功。 誰能告訴我我做錯了什麼?
問候,卓然
爲什麼你試圖通過這兩個'obj'和'data'到'$ .post'? – Musa 2013-02-19 15:42:37
你在哪裏使用'echo/print'來輸出到瀏覽器? – 2013-02-19 15:46:51
我嘗試在控制檯中記錄javascript中的輸出,但我沒有收到任何迴應。 – Zoran 2013-02-19 16:49:58