Вернуть представление с данными из ajax

У меня возникает ошибка 500 при возврате представления с данными из контроллера (Codeigniter 4) в функцию ajax:

В Codeigniter 3 этой проблемы нет, и все в порядке, когда $this->load->view('some'); но un CI4 не использует этот метод для отображения представления.

В Codeigniter 4:

JS:

<script>

function insertFotosNew(url){
    var form = document.querySelector('#new-fotos-form');
    var fd = new FormData(form);

    $.ajax({
        type: "POST",
        url: '<?=base_url('subir_fotos')?>',
        data: fd,
        contentType: false,
        processData: false,
        success: function (resultado) {
            console.log(resultado);
            $('#card-fotos').html(resultado);


        },
        error: function (resultado) {
            alert('Se ha producido un error al conectar con el servidor.');
        }
    });
 }

The controller:

/**
 * @return View
 */
public function run(){
    $todo       = $this->request->getPost();
    $files      = $this->request->getFiles();

    $data = array();

    if(count($files) > 0) {
        $this->respuesta = $this->propiedadNewFotoUpload($todo['id_producto'], $files);
        $data['fotos'] =  $this->productosFotosRepository->getProductoFotos($todo['id_producto']);
    } else  {
        $this->respuesta->mensaje = 'No hay ficheros para subir';
        $this->respuesta->estado = EXIT_ERROR;
    }

    //return json_encode($this->respuesta);
    return view('Administracion/Propiedades/propiedades_form_fotos',$data);
}

}


person Juan Jose Fajardo    schedule 28.05.2020    source источник
comment
попробуйте использовать режим прямой загрузки $this-›load-›view('Administracion/Propiedades/propiedades_form_fotos',$data);   -  person RK_oo7    schedule 28.05.2020
comment
Не удалось загрузить ресурс: сервер ответил со статусом 500 (внутренняя ошибка сервера) с $this-›load-›view('Administracion/Propiedades/propiedades_form_fotos',$data); Это CI4, а не CI3   -  person Juan Jose Fajardo    schedule 28.05.2020


Ответы (1)


Вы должны повторять свою точку зрения, а не возвращать ее.

 echo view('Administracion/Propiedades/propiedades_form_fotos',$data);

Посмотрите документацию, и документация CI4 довольно хороша. https://codeigniter.com/user_guide/general/common_functions.html#view

person ViLar    schedule 29.05.2020
comment
Та же ошибка с «эхом». Это первое, что я пишу. Я подтверждаю, что массив $data y ok, и это же представление в порядке в другом контроллере, а не вызове из ajax. Происходит только при вызове этого контроллера из аякса. - person Juan Jose Fajardo; 29.05.2020
comment
Можете ли вы предоставить нам свое сообщение об ошибке http 500? Похоже, ваша проблема выходит за рамки кода, который вы здесь дали. Возможно, ваш $files пуст или ошибка в вашем представлении. - person ViLar; 29.05.2020
comment
ты прав !!! проблема во взгляде. Я нашел это. Танки - person Juan Jose Fajardo; 29.05.2020