В Codeigniter с помощью ajax
я добавляю запись в (продукты) и все работает нормально, поэтому я решил добавить поле (изображение), и по какой-то причине он больше не добавляет записи в базу данных
и я добавляю тип ввода = файл в мою форму
<input type="file" name="image">
и я добавляю это в мой контроллер
$image = $this->input->post('image');
$data = array('title'=>$title,'description'=>$description,'price'=>$price,'quantity'=>$quantity,'image'=>$image);
но когда я удаляю $ image = $ this-> input-> post (‘image’); он снова начинает работать
на всякий случай это мой код ajax
var postData = $(this).serialize();
$.ajax({
type:'post',
url: baseURL+"admin/Products/add_product",
data:postData,
dataType:'json',
success:function(data){
}
});
есть идеи как это решить?
Надеюсь, что это поможет вам :
Ваш ajax
должно быть так:
var formdata = new FormData();
$.ajax({
type: 'POST',
url: baseURL+"admin/Products/add_product",
data: formdata,
cache: false,
contentType: false,
processData: false,
success: function(response)
{
alert(response);
}
});
В контроллере доступ к изображению с помощью $_FILES
супер переменная
public function add_product()
{
print_r($_FILES);
print_r($this->input->post());
exit;
}
Note
: убедитесь, что URL-адрес указан правильно, см. вкладку сети, чтобы увидеть вывод
Для большего : https://www.formget.com/ajax-image-upload-php/
Может быть, вы можете использовать вместо baseURL
var formdata = new FormData();
$.ajax({
type: 'POST',
url: <?=base_url()?>+"admin/Products/add_product",
data: formdata,
cache: false,
contentType: false,
processData: false,
success: function(response)
{
alert(response);
}
});