javascript - 使用 AJAX 删除 CodeIgniter 函数中的问题
问题描述
我想删除表instrumentos中的一个寄存器,我正在使用带有AJAX的codeignite,并且我的控制器中有这个功能
public function deleteInstrument(){
$id = $this->input->get('id');
$sql = $this->db->where('id',$id)->delete('instrumentos');
$r['response'] = 2;
$r['content'] = 'deleted';
echo json_encode($r);
}
我在我的 JavaScript 中有下一个要删除的函数:
function confirmarEliminar(){
$("body").on("click","#tablaInstrumentos button",function(event){
idseleccion=$(this).attr("value");
alertify.confirm('Eliminar Registro',
'Esta seguro de eliminar el registro?',
function(idseleccion){
$.ajax({
url: base_url+'admin_ajax/deleteInstrument',
type: 'GET',
data:{id:idseleccion},
beforeSend:function(){
},
success:function(r){
if(r==2 ){
alert(id)
}
},
error:function(xhr, status, msg){
console.log(xhr.responseText);
}
});
}
, function(){ alertify.error(idseleccion)});
});}
我在控制台输出中有这个错误
Uncaught TypeError: Illegal invocation
at i (jquery-3.3.1.min.js:2)
at jt (jquery-3.3.1.min.js:2)
at jt (jquery-3.3.1.min.js:2)
at jt (jquery-3.3.1.min.js:2)
at jt (jquery-3.3.1.min.js:2)
at jt (jquery-3.3.1.min.js:2)
at Function.w.param (jquery-3.3.1.min.js:2)
at Function.ajax (jquery-3.3.1.min.js:2)
at Object.<anonymous> (configuracion.js?1550431424:80)
at Object.callback (alertify.min.js:3)
解决方案
请在 js 中尝试此代码: function confirmarEliminar(id) {
$.post(base_url + "admin_ajax/deleteInstrument", {id: id}, function (data) {
if (data.code == '1') {
bootbox.alert(data.message, function () {
$("#your row id" + id).remove();
});
} else {
bootbox.alert('Something went wrong');
}
$(window).unblock();
});
}
控制器代码:
公共函数 deleteInstrument($id){ }
推荐阅读
- mysql - MySQL 克隆匹配行并修改一个具有唯一 PHP 生成值的字段
- javascript - 我如何从循环中获取数组?
- python - 平面线交点
- mongodb - 从 mongo 获取日期时间并将其推送到数组
- sql - How to get row count based on other column groups
- reporting-services - SSRS 报告未正确抑制空白
- python - 如何在 ubuntu 启动时使用终端窗口启动 python 程序
- spring-cloud-gateway - 如何在过滤后清除响应并设置响应状态?
- python - 如果用户输入包含多个单词,python 中的聊天机器人会生成随机答案
- javascript - 如何创建通用 TemplateRef,然后将其作为对象参数传递给其他组件?