简体   繁体   English

如何使用Codeigniter从Ajax Jquery中的控制器获取多个参数?

[英]How to get multiple parameters from controller in Ajax Jquery using Codeigniter?

I am getting list of images from a folder for particular ID.我正在从文件夹中获取特定 ID 的图像列表。 Right now I am getting file names but I also want to get upload path.现在我正在获取文件名,但我也想获取上传路径。

How to get both data in one function.如何在一个函数中获取两个数据。

Jquery Code:查询代码:

listFilesOnServer(project_id);

    function listFilesOnServer (project_id) {
        var items = [];
        uploadURI = uploadURI+'/'+project_id;
        console.log(project_id+'--KAL--'+uploadURI);
        $.getJSON(uploadURI ,function(data,path) {
            console.log(data);
            $('div #list-group').html("").html(items.join(""));
        });
    }

Controller Code:控制器代码:

function listFiles() {
        $this->load->helper('file');
        $project_id = $this->uri->segment(3);
        $builders_id = $this->admin_model->getBuilderID($project_id);
        $UPLD_PATH = $this->admin_model->builder_UPLD_PATH($builders_id);
        $upload_path = "./application/assets/images/" . $UPLD_PATH;
        $files = get_filenames($upload_path);
        echo json_encode($files);
    }

You should modify your controller action so that it returns an json_encode(array('files'=>$yourFiles, 'filePath'=>$yourFilePath) );您应该修改您的控制器操作,使其返回一个json_encode(array('files'=>$yourFiles, 'filePath'=>$yourFilePath) ); like below :像下面这样:

function listFiles() {
        $this->load->helper('file');
        $project_id = $this->uri->segment(3);
        $builders_id = $this->admin_model->getBuilderID($project_id);
        $UPLD_PATH = $this->admin_model->builder_UPLD_PATH($builders_id);
        $upload_path = "./application/assets/images/" . $UPLD_PATH;
        $files = get_filenames($upload_path);
        echo json_encode(array('files'=>$files, 'uploadPath'=>$upload_path) );
        exit();
}

Then modify your jquery code to handle the json response and extract the response like below :然后修改您的 jquery 代码以处理 json 响应并提取如下响应:

listFilesOnServer(project_id);

function listFilesOnServer (project_id) {
    var items = [];
    uploadURI = uploadURI+'/'+project_id;
    console.log(project_id+'--KAL--'+uploadURI);
    $.getJSON(uploadURI ,function(data,path) {
        //Your upload path
        console.info("UPLOAD PATH: "+data.uploadPath);
        //Your files
        console.log(data.files);
        //Your processing logic goes here
        $('div #list-group').html("").html(items.join(""));
    });
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM