我和laravel合作了几天,我试图上传表格。当您上传文件时,用户不应该被重定向到任何页面,但它应该显示在同一页面上,例如:Success。所以这就是形式:
<form enctype="multipart/form-data" id="upload_form" role="form" method="POST" action="{{ URL::to('upload') }}" >
<label>Upload</label>
<input type="file" name="file" /><br/>
<input class="upload_button" name="submit" type="submit" value="submit" />
<input type="hidden" value="{{ csrf_token() }}" name="_token" />
</form>
这是控制器
if(Input::hasFile('file')){
$file = Input::file('file');
$user = Auth::id();// !!!!вземи ID на потребителя и му го подай, за да бъде номер на главната му папка!!!!!!!!!!!!
$file->move('uploads/'.$user, $file->getClientOriginalName());
echo 'Success';
}
else {
echo 'Please select a file first';
}
JS:
$(document).ready(function(){
$(".upload_button").click(function(){
$.ajax({
url:'upload',
data:new FormData($("#upload_form")[0]),
dataType:"json",
async:false,
type:"post",
processData: false,
contentType: false,
success:function(response){
alert(response);
}
});
}); });
路线:
Route::post('upload', 'UploadController@upload');
我只是不想被重定向到/ upload页面。而且我不知道该怎么做。你能帮忙吗
答案 0 :(得分:0)
默认情况下,当您点击类型为form
的{{1}}时,button
会将您重定向到操作的网址。但是,您可以通过在submit
脚本中添加event.preventDefault()
来阻止此事件。
js
完成!