[英]Laravel5 file Upload via Ajax
When I am uploading file showing some error. 当我上传文件时显示一些错误。 Error details and file contents are given below.
错误详细信息和文件内容如下。 Could you please check and help me to solve this issue?
您能否检查并帮助我解决此问题?
Error 错误
Whoops, looks like something went wrong.
MethodNotAllowedHttpException in RouteCollection.php line 201:
in RouteCollection.php line 201
at RouteCollection->methodNotAllowed(array('GET', 'HEAD')) in RouteCollection.php line 188
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD')) in RouteCollection.php line 140
at RouteCollection->match(object(Request)) in Router.php line 746
at Router->findRoute(object(Request)) in Router.php line 655
at Router->dispatchToRoute(object(Request)) in Router.php line 631
at Router->dispatch(object(Request)) in Kernel.php line 236
etc
routes.php routes.php文件
Route::post('/ambition/update', [
'before' => 'csrf',
'as' => 'tagambitionupdate',
'uses' => 'TagambitionController@update'
]);
TagambitionController.php TagambitionController.php
public function update(TagambitionRequest $request)
{
$userTagID = $request->hiddenid;
$file = $request->file('file');
dd($file);
}
JS JS
$(document).ready(function() {
/* Upload files of ambition tags begin*/
$("#submit").click(function(){
alert('hai');
var form = $("#addForm")[0];
var formdata = new FormData(form);
formdata.append('file', 'file');
$.ajax({
url : "/ambition/update",
type: "POST",
data : formdata,
processData: false,
contentType: false,
success:function(data){
alert(data);
}
});
});
/* Upload files of ambition tags end*/
});
forntend.blade.php forntend.blade.php
<div class="tag-handler-ambition-response">
<form id="addForm" method="post" enctype="multipart/form-data"><span id="tag-ambition-append">Test</span><input name="file" type="file" id="file" ><input name="hiddenid" id="hiddenid" type="hidden" value='{{ $id }}' ><input type="hidden" name="_token" value="{{ csrf_token() }}"><button class="btn btn-default" id="submit" >Submit</button></form>
</div>
Finally I got my result. 终于我得到了结果。 I have changed the button click function to form submit.
我已经将按钮单击功能更改为表单提交。 Please check my code below.
请在下面检查我的代码。 I can upload files without refreshing page using Laravel5 and jQuery ajax.
我可以使用Laravel5和jQuery ajax上传文件而无需刷新页面。
jS JS
$("#addForm_"+response.id).submit(function(e){
e.preventDefault();
var form = $("#addForm_"+response.id)[0];
var formdata = new FormData(form);
formdata.append('file', 'file_'+response.id);
$.ajax({
url : "/ambition/update",
type: "POST",
data : formdata,
processData: false,
contentType: false,
success:function(data){
}
});
e.preventDefault();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.