单击删除按钮但数据无法删除且 url 不显示 ID 时出现问题
I have a probllem when the button delete has clicked but the data cannot delete and the url not show the id
我已经尝试解决这个问题好几个小时了,但我从来没有解决过这个问题
我的代码有问题,当我从 json 中单击删除按钮时,我无法从控制台中仅 link 获取 ID,如下所示:
示例:
- 那件事发生了:
request
- 我想要像这样:
request/?id=1
我粘贴一些代码来检查:
控制器request.php
:
public function delete()
{
// $this->m_request->delete($this->input->post('id_form'));
$id = $this->input->post('id_form');
$data = $this->m_request->DeleteRequest($id);
echo json_encode($data);
}
型号m_request.php
:
public function DeleteRequest($id)
{
$hasil = $this->db->query("DELETE FROM request WHERE id_form='$id'");
return $hasil;
}
然后查看(我只放了模态脚本和 ajax json 脚本):
模态视图:
<div class="modal fade" id="ModalHapus" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">Hapus Request</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">X</span></button>
</div>
<form class="form-horizontal">
<div class="modal-body">
<input type="hidden" name="kode" id="textkode" value="">
<div class="alert alert-warning">
<p>Apakah Anda yakin mau menghapus request ini?</p>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Tutup</button>
<button class="btn_hapus btn btn-danger" id="btn_hapus">Hapus</button>
</div>
</form>
</div>
</div>
Ajax/JSON 脚本:
//GET HAPUS
$(document).on('click', '.hapus', function() {
var id = $(this).attr('data');
$('#ModalHapus').modal('show');
$('[name="kode"]').val(id);
})
// Hapus Request
$('#btn_hapus').on('click',function(e){
e.preventDefault();
var id = $('textkode').val();
$.ajax({
type: "POST",
url: "<?= site_url('request/delete')?>",
dataType: "JSON",
data: {id:id},
success: function(data){
// $('#ModalHapus').modal('hide');
console.log(data)
load_data();
}
});
return false;
})
ajax 请求可能无法正常工作的原因有很多。我想到的第一件事是,您没有指定输入表单的 ID 和方法。请确保您的 HTML 表单标签中包含这两个。例如:
<form id=“id_form” method=“post” class=“...”>
...
<input type="text" name="kode" id="textkode">
</form>
在您的 JS 代码中执行以下操作
$.ajax({
type: "POST",
url: "<?= site_url('request/delete')?>",
dataType: "JSON",
data: $(“#id_form”).serialize(),
success: function(data){
console.log(data)
load_data();
}
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nERROR: "+ err);
}
});
同时将您的删除功能更改为:
public function deleteTableRow()
{
$id = $_POST['textkode']; // Because I'm not sure what this->input->post() makes
$result = $this->m_request->DeleteRequest($id);
echo json_encode(array('id' => $id, 'result' => $result)); // The contents of array should then be displayed in the console of your webbrowser
}
请注意,我更改了函数名称。这可能会误导其他程序员,因为 delete 在许多编程语言中用作动态对象的析构函数!
此外,我建议创建一个 ajax.php 文件来解析不同类型的 ajax 请求。该文件也可以用作控制器,但仅用于 ajax 调用。如果您有多个表单,则代码更具可读性。
我已经尝试解决这个问题好几个小时了,但我从来没有解决过这个问题
我的代码有问题,当我从 json 中单击删除按钮时,我无法从控制台中仅 link 获取 ID,如下所示:
示例:
- 那件事发生了:
request
- 我想要像这样:
request/?id=1
我粘贴一些代码来检查:
控制器request.php
:
public function delete()
{
// $this->m_request->delete($this->input->post('id_form'));
$id = $this->input->post('id_form');
$data = $this->m_request->DeleteRequest($id);
echo json_encode($data);
}
型号m_request.php
:
public function DeleteRequest($id)
{
$hasil = $this->db->query("DELETE FROM request WHERE id_form='$id'");
return $hasil;
}
然后查看(我只放了模态脚本和 ajax json 脚本):
模态视图:
<div class="modal fade" id="ModalHapus" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">Hapus Request</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">X</span></button>
</div>
<form class="form-horizontal">
<div class="modal-body">
<input type="hidden" name="kode" id="textkode" value="">
<div class="alert alert-warning">
<p>Apakah Anda yakin mau menghapus request ini?</p>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Tutup</button>
<button class="btn_hapus btn btn-danger" id="btn_hapus">Hapus</button>
</div>
</form>
</div>
</div>
Ajax/JSON 脚本:
//GET HAPUS
$(document).on('click', '.hapus', function() {
var id = $(this).attr('data');
$('#ModalHapus').modal('show');
$('[name="kode"]').val(id);
})
// Hapus Request
$('#btn_hapus').on('click',function(e){
e.preventDefault();
var id = $('textkode').val();
$.ajax({
type: "POST",
url: "<?= site_url('request/delete')?>",
dataType: "JSON",
data: {id:id},
success: function(data){
// $('#ModalHapus').modal('hide');
console.log(data)
load_data();
}
});
return false;
})
ajax 请求可能无法正常工作的原因有很多。我想到的第一件事是,您没有指定输入表单的 ID 和方法。请确保您的 HTML 表单标签中包含这两个。例如:
<form id=“id_form” method=“post” class=“...”>
...
<input type="text" name="kode" id="textkode">
</form>
在您的 JS 代码中执行以下操作
$.ajax({
type: "POST",
url: "<?= site_url('request/delete')?>",
dataType: "JSON",
data: $(“#id_form”).serialize(),
success: function(data){
console.log(data)
load_data();
}
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nERROR: "+ err);
}
});
同时将您的删除功能更改为:
public function deleteTableRow()
{
$id = $_POST['textkode']; // Because I'm not sure what this->input->post() makes
$result = $this->m_request->DeleteRequest($id);
echo json_encode(array('id' => $id, 'result' => $result)); // The contents of array should then be displayed in the console of your webbrowser
}
请注意,我更改了函数名称。这可能会误导其他程序员,因为 delete 在许多编程语言中用作动态对象的析构函数!
此外,我建议创建一个 ajax.php 文件来解析不同类型的 ajax 请求。该文件也可以用作控制器,但仅用于 ajax 调用。如果您有多个表单,则代码更具可读性。