Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Codeigniter:如何在不刷新的情况下将数组从控制器传递到视图_Javascript_Php_Ajax_Json_Codeigniter - Fatal编程技术网

Javascript Codeigniter:如何在不刷新的情况下将数组从控制器传递到视图

Javascript Codeigniter:如何在不刷新的情况下将数组从控制器传递到视图,javascript,php,ajax,json,codeigniter,Javascript,Php,Ajax,Json,Codeigniter,基本上,我在视图中有一个表单,启用了一个输入,禁用了多个输入,只是为了显示从唯一输入派生的信息 现在,我需要将此输入发送到控制器以进行查询,并将包含字段信息的数组发送回视图,但不刷新站点,因为我无法丢失此页面中的进度 也许解决方案是使用javascript向控制器发送输入字段,并在函数中返回值数组以刷新表单,但是如何实现呢 编辑:对不起,我的英语不好 var input = $('#input').val(); $.ajax({ type:"POST", url:

基本上,我在视图中有一个表单,启用了一个输入,禁用了多个输入,只是为了显示从唯一输入派生的信息

现在,我需要将此输入发送到控制器以进行查询,并将包含字段信息的数组发送回视图,但不刷新站点,因为我无法丢失此页面中的进度

也许解决方案是使用javascript向控制器发送输入字段,并在函数中返回值数组以刷新表单,但是如何实现呢

编辑:对不起,我的英语不好

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); 
}