0
我想通过检查数据从数据库中提取数据。我将数据作为json文件发送,但不起作用。在网络中,它显示的数据不是可以检索的。虽然没有Ajax,我可以从数据库中检索数据。当我更改dataType:'json'时,它不会碰到cotroller。当这个改变为'html',然后触发alert()。ajax无法检索codeignitor中的数据
This is my ajax code
$(document).ready(function() {
$('#ret_pass').click(function(e) {
e.preventDefault();
var data = {
u_mail : $('#email').val(),
u_ques : $("#security").val(),
};
console.log(data);
url = $('#ret_form').attr('action');
//console.log(url);
$.ajax({
type:'POST',
url:url,
data: data,
dataType : 'json',
success: function(res){
alert(res.msg);//says undefined
console.log(res.msg);
},
error: function(res) {
alert(res.msg);
alert('error');//also says error!
},
});
})
})
This is controller code
public function ret_pass()
\t {
header('Content-Type: application/json', true);
if($this->input->is_ajax_request()) {
$u_mail = $this->input->post('email');
$u_ques = $this->input->post('security');
$cond = array(
'u_mail' => $u_mail,
'u_ques' => $u_ques
);
$query = $this->db->where($cond)->get('tbl_user');
$checker = $query->result_array();
//if (count($checker) > 0) {
if (!empty($checker)) {
//var_dump($results);
//echo json_encode ($results);
die(json_encode(array('success' => true, 'msg' => $checker)));
} else {
echo "bad search";
die(json_encode(array('success' => true, 'msg' => 'invalid search')));
}
}
}
这样做,但只有ajax错误功能被解雇。这意味着它不会发回任何数据。在错误函数中加入 –
,添加{alert(res.responseText)}并查看错误是什么 – crazyglasses