Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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
Php Ajax Post和CodeIgniter不工作_Php_Jquery_Ajax_Codeigniter - Fatal编程技术网

Php Ajax Post和CodeIgniter不工作

Php Ajax Post和CodeIgniter不工作,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,我试图回显从Ajax收到的代码。但当我使用contentType:false、processData:false时,它不起作用 这是我的ajax。url是正确的。如果我用post_data['file']和contentType:false,processData:false注释掉该行,我将能够获取回显,但是只要contentType:false,processData:false在中,我就无法获取任何内容 post_data = {}; post_data['file']= d

我试图回显从Ajax收到的代码。但当我使用contentType:false、processData:false时,它不起作用

这是我的ajax。url是正确的。如果我用post_data['file']和contentType:false,processData:false注释掉该行,我将能够获取回显,但是只要contentType:false,processData:false在中,我就无法获取任何内容

    post_data = {};
    post_data['file']= document.getElementById('fileToUpload').files[0];
    post_data['paper-type']=$("#paper-input :selected").val();

    $.ajax({
        url:'/admin/upload_paper',
        data: post_data,
        type: 'post',
        contentType: false,
        processData: false,
        success: function(data){
            console.log(data);
        },
        error: function(data){
            console.log(data+"error");
        }
    });
下面是来自CI的代码片段

public function upload_paper(){       

    echo $this->input->post('paper-type');
    echo "testing";
    echo "testing2";

}
有人知道那是什么吗?谢谢。

不要这样做:

post_data['paper-type']=$("#paper-input :selected").val();
试一试

在ajax中:

$.ajax({
    url:'/admin/upload_paper',
    data: {'paper-type':val},
    type: 'post',
    success: function(data){
        console.log(data);
    },
    error: function(data){
        console.log(data+"error");
    }
});

你的控制台有什么错误?为什么要将content type设置为false控制台打印“testingtesting2”我将contentType设置为false,因为我希望稍后上载文件。为了上传一个文件,我必须将contentType和ProcessData设置为false。你应该使用
FormData
对象来进行此尝试,如下所示:
url:'/admin/upload\u paper',
Hi Kamote,谢谢你的帮助。它确实可以工作,但当我添加contentType:false和processData:false时,它停止工作。我需要这些,以便稍后上传文件。请尝试在此处查看
$.ajax({
    url:'/admin/upload_paper',
    data: {'paper-type':val},
    type: 'post',
    success: function(data){
        console.log(data);
    },
    error: function(data){
        console.log(data+"error");
    }
});