我的laravel ajax应用程序出现问题,
我无法通过ajax POST上传图像/文件。
这是我的代码。
阿贾克斯
/*Add new catagory Event*/ $(".addbtn").click(function(){ $.ajax({ url:'add-catagory', data:{ logo:new FormData($("#upload_form")[0]), }, dataType:'json', async:false, type:'post', processData: false, contentType: false, success:function(response){ console.log(response); }, }); }); /*Add new catagory Event*/
刀片模板…
<form enctype="multipart/form-data" id="upload_form" role="form" method="POST" action="" > <div class="form-group"> <label for="catagry_name">Name</label> <input type="hidden" name="_token" value="{{ csrf_token()}}"> <input type="text" class="form-control" id="catagry_name" placeholder="Name"> <p class="invalid">Enter Catagory Name.</p> </div> <div class="form-group"> <label for="catagry_name">Logo</label> <input type="file" class="form-control" id="catagry_logo"> <p class="invalid">Enter Catagory Logo.</p> </div> </form> </div> <div class="modelFootr"> <button type="button" class="addbtn">Add</button> <button type="button" class="cnclbtn">Reset</button> </div> </div>
控制器..
public function catadd(){ if (Input::hasFile('logo')) { return "file present"; } else{ return "file not present"; } }
路线..
Route::post('add-catagory',['as'=>'catagory_add','uses'=>'MastersController@catadd']);
我的代码有什么错误?
我无法在laravel控制器中获取文件信息。
我该如何解决这个问题…?
有两点要更改:
从以下位置更改您的js文件:
data:{ logo:new FormData($("#upload_form")[0]), },
至:
data:new FormData($("#upload_form")[0]),
因为您想发送整个表格。
在您的html中:
在文件输入字段中添加名称
<input type="file" class="form-control" id="catagry_logo">
<input type="file" name="logo" class="form-control" id="catagry_logo">