我在wep应用程序中使用Datatables。我在尝试保存数据时遇到错误。我在其他文件上使用相同的代码,仅在这种情况下我收到错误消息。
jQuery-2.1.4.min.js:4 Uncaught TypeError: Illegal invocation
at e (jQuery-2.1.4.min.js:4)
at Ab (jQuery-2.1.4.min.js:4)
at Ab (jQuery-2.1.4.min.js:4)
at Ab (jQuery-2.1.4.min.js:4)
at Ab (jQuery-2.1.4.min.js:4)
at Function.n.param (jQuery-2.1.4.min.js:4)
at Function.ajax (jQuery-2.1.4.min.js:4)
at HTMLButtonElement.<anonymous> (opiniones.js:168)
at HTMLDocument.dispatch (jQuery-2.1.4.min.js:3)
at HTMLDocument.r.handle (jQuery-2.1.4.min.js:3)
这是代码:
$(document).on("click","#btnsave",function(){
var id = $("#txtid").val();
var nombre = $("#txtnombre").val();
var apellidos = $("#txtapellidos").val();
var ciudad = $("#txtciudad").val("");
var estado = $("#txtestado").val("");
var pais = $("#txtpais").val("");
var direccion = $("#txtdireccion").val("");
var especialidad = $("#txtespecialidad").val("");
var telefono = $("#txttelefono").val("");
var instalaciones =$("#txtinstalaciones").val("");
var atencion = $("#txtatencion").val("");
var precio = $("#txtprecio").val("");
var eficiencia = $("#txteficiencia").val("");
var puntualidad = $("#txtpuntualidad").val("");
var lorecomendarias = $("#txtlorecomendarias").val("");
var comentarios = $("#txtcomentarios").val("");
var verificado = $("#txtverificado").val("");
var usuario = $("#txtusuario").val("");
var email = $("#txtemail").val("");
var crud=$("#crudmethod").val();
if(nombre == '' || nombre == null ){
swal("AVISO","Campo Nombre es obligatorio","warning");
$("#txtnombre").focus();
return;
}
if(apellidos == '' || apellidos == null ){
swal("AVISO","Campo Apellidos es obligatorio","warning");
$("#txtapellidos").focus();
return;
}
var value = {
id: id,
nombre: nombre,
apellidos:apellidos,
direccion: direccion,
telefono: telefono,
especialidad: especialidad,
ciudad: ciudad,
estado: estado,
pais: pais,
instalaciones:instalaciones,
atencion: atencion,
precio: precio,
eficiencia: eficiencia,
lorecomendarias: lorecomendarias,
comentarios: comentarios,
usuario: usuario,
email: email,
puntualidad: puntualidad,
verificado: verificado,
crud:crud
};
$.ajax( **<- this is line 168**
{
url : "save_opinion.php",
type: "POST",
data : value,
success: function(data, textStatus, jqXHR)
{
var data = jQuery.parseJSON(data);
if(data.crud == 'N'){
if(data.result == 1){
$.notify('Opinión guardada correctamente');
var table = $('#table_cust').DataTable();
table.ajax.reload( null, false );
$("#txtnombre").focus();
$("#txtnombre").val("");
$("#txtapellidos").val("");
$("#txtciudad").val("");
$("#txtestado").val("");
$("#txtpais").val("");
$("#txtdireccion").val("");
$("#txtespecialidad").val("");
$("#txttelefono").val("");
$("#txtinstalaciones").val("");
$("#txtatencion").val("");
$("#txtprecio").val("");
$("#txteficiencia").val("");
$("#txtpuntualidad").val("");
$("#txtlorecomendarias").val("");
$("#txtcomentarios").val("");
$("#txtverificado").val("");
$("#txtusuario").val("");
$("#txtemail").val("");
$("#crudmethod").val("N");
$("#txtid").val("0");
$("#txtnombre").focus();
}else{
swal("Error","Can't save customer data, error : "+data.error,"error");
}
}else if(data.crud == 'E'){
if(data.result == 1){
$.notify('Opinión modificada correctamente');
var table = $('#table_cust').DataTable();
table.ajax.reload( null, false );
$("#txtnombre").focus();
}else{
swal("Error","Can't update customer data, error : "+data.error,"error");
}
}else{
swal("Error","invalid order","error");
}
},
error: function(jqXHR, textStatus, errorThrown)
{
swal("Error!", textStatus, "error");
}
});
});
我不知道从哪里开始搜索这个问题。
答案 0 :(得分:0)
您在ajax请求中发送的数据应该是错误的,您发送HTML元素而不是其某些参数的值,例如此处var ciudad = $("#txtciudad").val("");
尝试删除所有参数并检查,然后读取并确保添加值,而不是HTML元素。