Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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 jquery在AJAX文件上载中不起作用_Javascript_Php_Jquery_Ajax_Codeigniter - Fatal编程技术网

Javascript Codeigniter jquery在AJAX文件上载中不起作用

Javascript Codeigniter jquery在AJAX文件上载中不起作用,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我在codeigniter中有一个AJAX文件上传代码。问题是我将简单的表单提交更改为文件提交。但在那之后,JQUERY就停止了工作。响应即将成功,但同时调用了ajax错误函数。我不知道我的代码出了什么问题 这是我的控制器 public function ajax_add() { $this->_validate(); $config = [ 'upload_path' => './assets/game_images/', 'allowed_typ

我在codeigniter中有一个AJAX文件上传代码。问题是我将简单的表单提交更改为文件提交。但在那之后,JQUERY就停止了工作。响应即将成功,但同时调用了ajax错误函数。我不知道我的代码出了什么问题

这是我的控制器

public function ajax_add() {
    $this->_validate();

    $config = [
    'upload_path' => './assets/game_images/',
    'allowed_types' => 'gif|png|jpg|jpeg'
    ];
    $this->load->library('upload', $config);
    if ($this->upload->do_upload('image')) {
        $file = $this->upload->data();
        $file_name = $file['file_name'];

        if ($file_name == '') {
            $data['error_string'][] = 'Please upload an image.';
            $data['status'] = FALSE;
            echo json_encode($data);
            exit();
        }
    } else {
        $data['inputerror'][] = 'image';
        $data['error_string'][] = $this->upload->display_errors();
        $data['status'] = FALSE;
        echo json_encode($data);
        exit();
    }

    $data = array(
        'title' => $this->input->post('title'),
        'iframe' => $this->input->post('iframe'),
        'status' => $this->input->post('status'),
        'category_id' => $this->input->post('category_id'),
        //'image' => $file_name
        );
    $insert = $this->game->save($data);
    echo json_encode(array("status" => TRUE));
}

private function _validate() {
    $data = array();
    $data['error_string'] = array();
    $data['inputerror'] = array();
    $data['status'] = TRUE;

    if ($this->input->post('title') == '') {
        $data['inputerror'][] = 'title';
        $data['error_string'][] = 'Game Title is required';
        $data['status'] = FALSE;
    }

    if ($this->input->post('iframe') == '') {
        $data['inputerror'][] = 'iframe';
        $data['error_string'][] = 'Game Iframe is required';
        $data['status'] = FALSE;
    }

    if ($this->input->post('status') == '') {
        $data['inputerror'][] = 'status';
        $data['error_string'][] = 'Status is required';
        $data['status'] = FALSE;
    }

    if ($this->input->post('category_id') == '') {
        $data['inputerror'][] = 'category_id';
        $data['error_string'][] = 'Please select category';
        $data['status'] = FALSE;
    }

    if ($data['status'] === FALSE) {
        echo json_encode($data);
        exit();
    }
}
这是我的HTML

if (save_method == 'add') {
            url = "<?php echo site_url('game/ajax_add') ?>";
        } else {
            url = "<?php echo site_url('game/ajax_update') ?>";
        }
var formData = new FormData($('#form')[0]);

        $.ajax({
            url: url,
            type: 'JSON',
            data: formData,
            async: false,
            success: function (data)
            {
                if (data.status) //if success close modal and reload ajax table
                {
                    $('#modal_form').modal('hide');
                    reload_table();
                } else
                {
                    for (var i = 0; i < data.inputerror.length; i++)
                    {
                        $('[name="' + data.inputerror[i] + '"]').parent().parent().addClass('has-error'); //select parent twice to select div form-group class and add has-error class
                        $('[name="' + data.inputerror[i] + '"]').next().text(data.error_string[i]); //select span help-block class set text error string
                    }
                }
                $('#btnSave').text('save'); //change button text
                $('#btnSave').attr('disabled', false); //set button enable 
            },
            error: function (jqXHR, textStatus, errorThrown)
            {
                alert('Error adding / update data');
                $('#btnSave').text('save'); //change button text
                $('#btnSave').attr('disabled', false); //set button enable 

            },
            cache: false,
            contentType: false,
            processData: false
        });
if(保存方法=='add'){
url=“”;
}否则{
url=“”;
}
var formData=new formData($('#form')[0]);
$.ajax({
url:url,
键入:“JSON”,
数据:formData,
async:false,
成功:功能(数据)
{
if(data.status)//if成功关闭模式并重新加载ajax表
{
$('modal'u form')。modal('hide');
重新加载_表();
}否则
{
对于(变量i=0;i
将ajax类型更改为“POST”并添加ajax数据类型:“JSON”。将ajax类型更改为“POST”并添加ajax数据类型:“JSON”。
$.ajax({
   type: 'POST',
   url: url,
   dataType: 'JSON',
   contentType: 'application/json; charset=utf-8'
})