我正在嘗試使用 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;
}
即使該值存在于資料庫中,我也只收到該值不存在的訊息。
uj5u.com熱心網友回復:
- 您使用的是 AJAX 而不是表單提交方法,因此在后端 post() 方法將不起作用
- 在 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/342448.html
標籤:javascript php 查询 阿贾克斯 代码点火器
上一篇:在2個控制器功能之間傳遞資料
下一篇:燒瓶不向ajax呼叫提供結果
