Php 如果数据库中的数据不匹配,Codeigniter Ajax不会返回任何错误消息
我在CodeIgniter中使用AJAX 这是我的密码。当我的SQL查询返回一个结果时,这就起作用了。如果查询为空,AJAX不会返回任何内容 我的模型:Php 如果数据库中的数据不匹配,Codeigniter Ajax不会返回任何错误消息,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,我在CodeIgniter中使用AJAX 这是我的密码。当我的SQL查询返回一个结果时,这就起作用了。如果查询为空,AJAX不会返回任何内容 我的模型: function view_filter_by_cat($id){ $sql = "SELECT * FROM ".TBL_FILTER_OPTION." WHERE FID=?"; $query=$this->db->query($sql,$id); if($query->num_rows()){ foreach (
function view_filter_by_cat($id){
$sql = "SELECT * FROM ".TBL_FILTER_OPTION." WHERE FID=?";
$query=$this->db->query($sql,$id);
if($query->num_rows()){
foreach ($query->result() as $row){
$result[] = $row;
}
$query->free_result();
return $result;
}
AJAX控制器:
public function find_filters_options(){
if($this->input->post('FID')){
$fid = $this->input->post('FID');
$filterList= $this->filter_option_model->view_filter_by_cat($fid);
if($this->filter_option_model->view_filter_by_cat($fid)){
echo (json_encode($filterList));
}else{
echo '0';
}
}
}
Ajax调用:
$.ajax({
type: "POST",
url: '<?php echo site_url('admin/products/find_filters_options'); ?>',
data: {
<?php echo $this->security->get_csrf_token_name(); ?> : '<?php echo $this->security->get_csrf_hash(); ?>',
FID: fid
},
success: function(data1){
alert(data1);
}
});
$.ajax({
类型:“POST”,
url:“”,
数据:{
: '',
FID:FID
},
成功:功能(数据1){
警报(数据1);
}
});
我的问题是,当查询没有返回任何值时,我无法访问成功消息。当返回值为空时,我想获取值“0”。您可以将控制器更改为:
public function find_filters_options(){
$result = array();
if($this->input->post('FID')){
$fid = $this->input->post('FID');
$filterList= $this->filter_option_model->view_filter_by_cat($fid);
if($this->filter_option_model->view_filter_by_cat($fid)){
$result["got_data"] = "yes";
$result["data"] = $filterList;
}else{
$result["got_data"] = "no";
}
}
else {
$result["got_data"] = "no";
}
echo (json_encode($result));
}
还有您的jquery ajax
$.ajax({
type: "POST",
url: '<?php echo site_url('admin/products/find_filters_options'); ?>',
data : {<?php echo $this->security->get_csrf_token_name(); ?> : '<?php echo
$this->security->get_csrf_hash(); ?>', FID : fid },
dataType: "json",
success: function(data1) {
if(data1.got_data == "yes") {
var data = data1.data; //get data from server here
}
else {
//dont have any data
//show some appropriate message
}
}
});
$.ajax({
类型:“POST”,
url:“”,
数据:{:'',FID:FID},
数据类型:“json”,
成功:功能(数据1){
如果(data1.got_data==“yes”){
var data=data1.data;//从这里的服务器获取数据
}
否则{
//我没有任何数据
//显示一些适当的消息
}
}
});
Hi感谢您的回复,但这也不起作用:(我认为模型有问题,因为我没有收到来自ELSE的任何数据。我无法通过浏览器控制台跟踪问题。我遇到了一个问题,我无法访问数据。var data=data1.data;我遇到了未定义的错误,我100%确定控制器有数据变量,我可以看到数据变量提醒整个警报(data1)@SoundharRaj尝试检查console.log(data1);查看您得到了什么,并尝试console.log(data1[“data”]);