Вернуть представление с данными из ajax - PullRequest
0 голосов
/ 28 мая 2020

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

В Codeigniter 3 нет этой проблемы, и все в порядке, когда $ this-> load- > просмотр ('некоторые'); но 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.');
        }
    });
 }

Контроллер:

/**
 * @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);
}

}

1 Ответ

0 голосов
/ 29 мая 2020

Вы должны повторить свое мнение, не возвращая его.

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

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

...