我有一些问题与jQuery的理解,但在这种情况下,我认为我做的每件事都是正确的,但没有得到结果,如果你能帮助会很好...谢谢这里的代码和截图
注意:如果我以常规的方式添加表单操作url地址,它做得很好,但我想用Ajax来做...
在视图中,请注意,我将数据从表单发送到控制台以验证数据,它确实收到了数据...因此表单字段不为空...
<form id="ubicate">
<input type="hidden" id="idusuario" name="idusuario" value="12345612">
<input type="hidden" id="tipo" name="tipo" value="<?php echo $this->session->userdata( 'nivel' );?>">
<input type="hidden" name="maplinkform" id="maplinkform" value='No ubicacion disponible'>
<input type="hidden" id="fechacreado" name="fechacreado" value="<?php echo date('Y-m-d H:i:s'); ?>">
<input id="creadopor" name="creadopor" type="hidden" value="<?php echo $this->session->userdata( 'username' );?>">
<button type="submit">Enviar</button>
</form>
<script>
$(document).ready(function() {
$('#ubicate').submit(function(event) {
event.preventDefault(); // Evitar que se envíe el formulario de forma
var idusuario = $('#idusuario').val();
var maplinkform = $('#maplinkform').val();
var tipo = $('#tipo').val();
var creadopor = $('#creadopor').val();
var fechacreado = $('#fechacreado').val();
console.log( $('#ubicate').serialize() );
$.ajax({
url: '<?php echo base_url('paginaprincipal/ubicacionvend') ?>',
type: 'POST',
data: {
idusuario:idusuario,
maplinkform:maplinkform,
tipo:tipo,
creadopor:creadopor,
fechacreado:fechacreado
},
success: function(response) {
if (response.status == 'success') {
// Mostrar un mensaje de confirmación utilizando SweetAlert2
Swal.fire({
title: '¡Éxito!',
text: response.message,
icon: 'success'
});
} else {
// Mostrar un mensaje de error utilizando SweetAlert2
Swal.fire({
title: 'Error',
text: response.message,
icon: 'error'
});
}
}
});
});
});
</script>
在控制器中,我放置了一个出口,以测试Ajax调用是否进入控制器,但出口从未被命中。
public
function ubicacionvend() {
$this->load->model( 'model_generico', 'generico' );
exit('it is inside');
$laubicacion = array(
'idusuario' => $this->input->post( 'idusuario', "TRUE" ),
'tiponegocio' => $this->input->post( 'tipo', "TRUE" ),
'ubicacion' => $this->input->post( 'maplinkform', "TRUE" ),
'fechacreado' => $this->input->post( 'fechacreado' ),
'creadopor' => $this->input->post( 'creadopor', "TRUE" )
);
$respuesta = $this->generico->guardarUbicacion( $laubicacion );
if($respuesta){
// Devuelve un mensaje de éxito
$response = array(
'status' => 'success',
'message' => 'Los datos se han insertado correctamente'
);
}
else
{
// Devuelve un mensaje de error
$response = array(
'status' => 'error',
'message' => 'Ha ocurrido un error al insertar los datos'
);
}
echo json_encode($response);
}
在模型中
public function guardarUbicacion($field){
$this->db->insert('ubicaciones', $field);
if($this->db->affected_rows() > 0){
return true;
}else{
return false;
}
}
截图结果,在那里你可以注意到消息没有出现,这意味着我没有收到任何回应。
我用一种普通的方法向表单添加动作,它做得很好,但我想用Ajax来做
1条答案
按热度按时间s4chpxco1#
已经解决了问题,a确实更改了数据收集并添加了dataType:json,最终解决了问题,现在运行良好。