Laravel restful route ajax method post 405方法不允许

时间:2017-01-23 15:54:02

标签: javascript php jquery ajax laravel-5

我想在Laravel中使用ajax提交表单。但Ajax post方法现在允许405方法。我正在使用宁静的路线。 我的代码如下:
我的路线文件如下:

Route::resource("a","AController");

我的js文件如下:

var host = "http://example.com/";
var url = host + "a/store";
$('#form_id').on('submit',function(e){
  e.preventDefault();
  var data = $(this).serialize();
  $.ajax({
    url:url,
    data: data,
    type: 'post',
    dataType: 'json',
    timeout: 1000,
    error:function() { alert("Error Submitting Information") }
  }).done(function(resp){

  });
});

我的控制器文件:

public function store(Request $request){
  $input = $request->all();
}

但它给出405方法不允许错误

1 个答案:

答案 0 :(得分:1)

删除/store部分:

var host = "http://example.com/";
var url = host + "a/"; //<----
$('#form_id').on('submit',function(e){
  e.preventDefault();
  var data = $(this).serialize();
  $.ajax({
    url:url,
    data: data,
    type: 'post',
    dataType: 'json',
    timeout: 1000,
    error:function() { alert("Error Submitting Information") }
  }).done(function(resp){

  });
});

默认情况下,laravel会将任何POST请求定向到store

中的AController函数

查看Laravel文档中的路由表:https://laravel.com/docs/5.3/controllers#resource-controllers