Javascript Laravel 5.4 JQuery请求405
我对Laravel 5.4中的JQuery post请求有问题。Opera开发者控制台说,该方法是不允许的(403) 我的路线Javascript Laravel 5.4 JQuery请求405,javascript,php,jquery,laravel,request,Javascript,Php,Jquery,Laravel,Request,我对Laravel 5.4中的JQuery post请求有问题。Opera开发者控制台说,该方法是不允许的(403) 我的路线 Route::get('/', 'HomeController@index'); Route::resource('/create', 'ProjectController'); JQuery请求 jQuery(document).ready(function ($) { $('#create').on('submit', function () {
Route::get('/', 'HomeController@index');
Route::resource('/create', 'ProjectController');
JQuery请求
jQuery(document).ready(function ($) {
$('#create').on('submit', function () {
$.post(
$(this).prop('action'),
{
"_token": $(this).find('input[name=_token]').val(),
"name": $('#name').val(),
"creator": $('#creator').val(),
"type": $('#type').val(),
"game": $('#game').val(),
"description": $('#description').val(),
},
function (data) {
//TODO: do something with data/response returned by server
},
'json'
);
return false;
});
});
请帮帮我
//编辑:
控制器
public function store(CreateProjectFormRequest $request)
{
$project = new Project;
$project->name = $request->get('name');
$project->section = $request->get('section');
$project->creator = Auth::user()->name;
$project->game = $request->get('game');
$project->description = $request->get('description');
$project->save();
return 'success';
}
更改路由:
route::resource('/create','ProjectController')代码>
发送到以下地址::Route::post('/','ProjectController@store');代码>
编辑:
我想你会犯错误,因为你提交了两次表格。使用表单的action和jQuery
1解决方案
删除所有jQuery并将其添加到表单中:(只需一个提交按钮)
2解决方案
从表单中删除操作,并将jquery请求更改为这样开始
$.post('/create',
{
'_token':......
这已经是一个post请求,$(This.prop('action')
?{!!Form::open(['data-toggle'=>'validator','url'=>'/create','class'=>'create'])
这意味着您需要在ProjectController的store
函数中编写存储代码
您需要将该方法添加到表单元素中,如{!!Form::open(['data-toggle'=>'validator','url'=>'/create',class'=>'create','method'=>'POST'])!!}方法不允许使用OK,那么,为什么不在laravel中以正确的方式提交,然后使用jQuery呢?我看不出有必要。
$.post('/create',
{
'_token':......