我想从我的视图中的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