Javascript Codeigniter:如何在不刷新的情况下将数组从控制器传递到视图
基本上,我在视图中有一个表单,启用了一个输入,禁用了多个输入,只是为了显示从唯一输入派生的信息 现在,我需要将此输入发送到控制器以进行查询,并将包含字段信息的数组发送回视图,但不刷新站点,因为我无法丢失此页面中的进度 也许解决方案是使用javascript向控制器发送输入字段,并在函数中返回值数组以刷新表单,但是如何实现呢 编辑:对不起,我的英语不好Javascript Codeigniter:如何在不刷新的情况下将数组从控制器传递到视图,javascript,php,ajax,json,codeigniter,Javascript,Php,Ajax,Json,Codeigniter,基本上,我在视图中有一个表单,启用了一个输入,禁用了多个输入,只是为了显示从唯一输入派生的信息 现在,我需要将此输入发送到控制器以进行查询,并将包含字段信息的数组发送回视图,但不刷新站点,因为我无法丢失此页面中的进度 也许解决方案是使用javascript向控制器发送输入字段,并在函数中返回值数组以刷新表单,但是如何实现呢 编辑:对不起,我的英语不好 var input = $('#input').val(); $.ajax({ type:"POST", url:
var input = $('#input').val();
$.ajax({
type:"POST",
url: <?php echo base_url().'controllername/action'?>
data: {input : input},
success: function(data){
// this data should be contain an arra
$('#where_to_insert_array').html();
}
});
控制器动作中和动作中
功能作用
{
$data=$this->input->post'input'
从数据库中获取$data上的数据
制作它的数组,然后进行回音
回波阵列;
}
最后,我了解了如何将数组从控制器动态传递到视图,代码如下: 视图javascript:
function getClient(){
if($('#cedula_cliente').val()){
$.ajax({
type : "post",
url: "<?php echo base_url().'index.php/clientes/getClienteFactura'?>",
cache: false,
data : {cedula : $('#cedula_cliente').val()},
success : function(json){
var obj=jQuery.parseJSON(json);
if(obj[0]){
$('#nombre_cliente').val(obj[0].nombre);
$('#apellido1_cliente').val(obj[0].apellido1);
$('#apellido2_cliente').val(obj[0].apellido2);
$('#dir_cliente').val(obj[0].dir);
}else{
alert("Usuario no encontrado");
}
},
});
}else{
alert("Debe ingresar una cédula de usuario");
}
谢谢你的回答,也许我应该在谷歌上看得更好,解决问题的关键是Json。提示:当然,你的问题上有标记,但我对javascript、ajax或Json的了解很少,我知道这是可能的,但是我不知道怎么做。到目前为止你有javascript代码吗?你有没有搜索过codeigniter ajax php教程。这是一个让你的生活变得轻松的方法
public function getClienteFactura(){
$cedula = $this->input->post('cedula');
$query = $this->Client_model->getClientByCedula($cedula);
echo json_encode($query);
}