Php “通过ajax发布文件”;错误405“不允许使用方法”;在拉维尔
路线 媒体控制器Php “通过ajax发布文件”;错误405“不允许使用方法”;在拉维尔,php,ajax,laravel-5,ajaxform,Php,Ajax,Laravel 5,Ajaxform,路线 媒体控制器 Route::get('/mediafile', 'MediaController@index'); 看法 甘巴尔 阿图 阿贾克斯 $('#userfile').change(函数(){ $(this.attr('disable',true); $('.uploadstatus').html('Sedang mengupload file'); $(this).parent().ajaxSubmit({ url:“”, 数据类型:“json”, 类型:“POST”, 成
Route::get('/mediafile', 'MediaController@index');
看法
甘巴尔
阿图
阿贾克斯
$('#userfile').change(函数(){
$(this.attr('disable',true);
$('.uploadstatus').html('Sedang mengupload file');
$(this).parent().ajaxSubmit({
url:“”,
数据类型:“json”,
类型:“POST”,
成功:功能(数据){
$(this.attr('disable',false);
$('.uploadstatus').empty();
},
错误:函数(数据){
}
});
});
当我发布一张图片时,我在使用AJAX时遇到了一个错误“405 Method Not Allowed”,我已经研究并遵循了堆栈溢出中的所有答案,但我仍然无法解决它
请帮我解决。可能是csrf令牌中的问题 在html中添加此行
$('#userfile').change(function(){
$(this).attr('disable',true);
$('.uploadstatus').html('Sedang mengupload file <img src="{{ asset('vendor/img/loading.gif') }}" alt="ajaxloading" />');
$(this).parent().ajaxSubmit({
url: "<?php echo url('/mediafile') ?>",
dataType: 'json',
type: "POST",
success : function(data){
$(this).attr('disable',false);
$('.uploadstatus').empty();
},
error : function(data){
}
});
});
并且需要在ajax调用中发布图像将
Route::get
更改为Route::post
,以处理post请求
如果需要同时支持GET和POST:请使用Route::match
或Route::any
在此处阅读有关Laravel路由器的更多信息:您可以发布代码而不是图片吗?您还可以提供路线定义吗?请注意,文本信息的图像与剪贴簿、屏幕阅读器和搜索引擎不兼容,因此对于希望帮助您的人来说,这不是一种有用的格式。请用格式化文本替换它们。编辑器中有一个按钮可以帮助您设置文本格式。@halfer噢,对不起。。因为这是我第一次使用stackoverflow,谢谢你的建议。请记住,此建议适用于internet上的任何帮助论坛,而不是特定于堆栈溢出。@ka_lin您好,我已经将其更改为代码。。抱歉,因为这是我第一次使用stackoverflow。
<div class="form-group image">
<div class="col-xs-12 col-sm-12 col-md-12">
<label>Gambar</label><input type="file" name="UserFile" id="userfile" style="display: inline">
<label style="margin-left: 25px">atau</label>
<a href="http://192.168.1.12/melody4/media/select.html" class="pilihmedia btn btn-default">Pilih dari media</a>
<input type="hidden" id="MediaID" name="CategoryMediaID" value="" />
<br /><br />
<span class="uploadstatus"></span>
<div class="success infomedia infomedia alert alert-success" style="display: none">
</div>
</div>
$('#userfile').change(function(){
$(this).attr('disable',true);
$('.uploadstatus').html('Sedang mengupload file <img src="{{ asset('vendor/img/loading.gif') }}" alt="ajaxloading" />');
$(this).parent().ajaxSubmit({
url: "<?php echo url('/mediafile') ?>",
dataType: 'json',
type: "POST",
success : function(data){
$(this).attr('disable',false);
$('.uploadstatus').empty();
},
error : function(data){
}
});
});
<meta name="_token" content="{{ csrf_token() }}"/>
$.ajaxSetup({
headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
});