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') }
     });