2017-01-23 75 views
1

我想提交使用ajax与Laravel的形式。但Ajax post方法现在允许使用405方法。我正在使用宁静的路线。 我下面的代码给出:下面
我的路由文件中给出:下面Laravel宁静的路线ajax方法后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

分享您的'网络。请使用php代码。你有没有将Route注册为'post'? – manniL

+0

您确定端点支持POST请求,而不是GET/PUT/DELETE吗? –

+0

我用routes/web.php文件更新了我的问题@manniL – Vam

回答

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