Загрузка изображения с помощью ajax-запроса в Code igniter 4 выдает нуль

#php #codeigniter #codeigniter-4

#php #codeigniter #codeigniter-4

Вопрос:

Я пытаюсь загрузить изображение с помощью ajax post-запроса и сохранить в контроллере в CI4. Но это показывает мне нулевой объект.

Вот код

 $.ajax({ 
                url: 'upload', 
                type: 'post', 
                data: {"image":img},   // img is the file which is being uploaded.
                contentType: false, 
                processData: false, 
                success: function(response){ 
                    if(response != 0){ 
                      html = '<img src="'   img   '" />';
                      $("#preview-crop-image").html(html);
                       alert('file uploaded'); 
                    } 
                    else{ 
                        alert('file not uploaded'); 
                    } 
                }, 
            }); 
});
  

Код контроллера

 public function image_upload()
{
    var_dump($this->request->getPost());
}
  

Я пытаюсь сбросить все объекты, но не могу разобраться.
Что здесь следует добавить?

Комментарии:

1. Какую версию jQuery вы используете?

2. используется версия 3.5.1

3. Вместо имени поля используйте FormData. Таким образом, вы получаете все в форме. tutsplanet.com/ajax-image-upload-using-php-and-jquery

4. 1. Измените «тип: ‘POST'» на «метод: ‘POST'». Тип должен использоваться в версиях jQuery до 1.9.0.

5. 2. Проверьте URL-адрес публикации ajax. Правильно ли это? Если да, проверьте файл маршрутизатора CI4, он указывает на правильный контроллер и метод

Ответ №1:

Добавьте косую черту к URL-адресу.

url: ‘/upload’,