在Codeigniter中,我使用ajax
向(产品)添加记录,并且一切正常,因此我决定添加(image)字段,由于某种原因,它不再向数据库添加任何记录
然后我将输入type = file添加到表单中
<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){
}
});
有什么解决方法的想法吗?
答案 0 :(得分:1)
希望这对您有帮助:
您的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路径正确,请参见“网络”标签以查看输出
答案 1 :(得分:0)
也许可以使用代替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);
}
});