ajax 在 codeigniter 中仅显示错误消息,即使该值存在于数据库中也是如此

ajax in codeigniter showing only false message even when the value exist in database

我正在尝试使用 AJAAX 检查我的 CodeIgniter 网站的数据库中是否存在值。我写了下面的代码:

<input id="username" name="pincode" type="text" class="form-control" placeholder="Enter Pincode">
<input id="prodid" name="prodid" value="<?php echo $prodid;?>" type="hidden">

<button type="button" onclick="check_if_exists();" class="btn btn-primary">Check</button>

function check_if_exists() {

  var username = $("#username").val();
  var prodid = $("#prodid").val();

  $.ajax({
    type: "post",
    url: "<?php echo base_url(); ?>index.php/homecontroller/filename_exists",
    data: {
      username: username,
      prodid: prodid
    },
    success: function(response) {
      if (response == true) {
        $('#msg').html('<span style="color: green;">' + msg + "</span>");
      } else {
        $('#msg').html('<span style="color:red;">Delivery Not Available at ' + username + '</span>');
      }
    }
  });
}

              function filename_exists()
{
    $username = $this->input->post('pincode');
    $prodid = $this->input->post('prodid');
    $exists = $this->product->filename_exists($prodid);
   
 
    if ($exists) {
        return true;
    } else {
        return false;

    }
}

  function filename_exists($prodid)
                  {
  $this->db->select('*');
  $this->db->where('id', $prodid);
  $this->db->from('product');

  $query = $this->db->get();
  $result = $query->result_array();
  return $result;
                  }

我只收到消息说该值不存在,即使该值存在于数据库中也是如此。

  1. 您使用的是 AJAX 而不是表单提交方法,因此在后端 post() 方法将不起作用
  2. 在php中从服务器传输一个值,一种方法是echo,但是return这里是错误的。 请像这样重写你的代码 查看

function check_if_exists() {

  var username = $("#username").val();
  var prodid = $("#prodid").val();
  var transfer = [username,prodid];
  $.ajax({
    type: "post",
    url: "<?php echo base_url(); ?>index.php/homecontroller/filename_exists",
    data: {result: JSON.stringify(transfer)},
    success: function(response) {
      if (response) {
        $('#msg').html('<span style="color: green;">' + msg + "</span>");
      } else {
        $('#msg').html('<span style="color:red;">Delivery Not Available at ' + username + '</span>');
      }
    }
  });
}

控制器

function filename_exists()
{
    $post = json_decode($_POST['result']);
    $username = $post[0];
    $prodid = $post[1];
    $exists = $this->product->filename_exists($prodid);
    echo $exists;
}

模态

function filename_exists($prodid)
{
  $this->db->select('id');
  $this->db->where('id', $prodid);
  $this->db->from('product');

  $query = $this->db->get();
  if($query->num_rows()) return true;
}

enter code here