我想在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方法不允许错误
答案 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