【发布时间】:2017-03-22 08:07:57
【问题描述】:
我在 Laravel 5.4 中的 JQuery post requset 有问题。 Opera 开发者控制台提示,该方法不被允许(403)
我的路线
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';
}
【问题讨论】:
-
这已经是一个帖子请求
-
$(this).prop('action')中的网址是什么? -
{!! Form::open(['data-toggle' => 'validator', 'url' => '/create', 'class' => 'create']) !!} -
这意味着您需要在
ProjectController的store函数中编写存储代码 -
您需要将方法添加到 Form 元素中,例如 {!! Form::open(['data-toggle' => 'validator', 'url' => '/create', 'class' => 'create', 'method' => 'POST']) !!}
标签: javascript php jquery laravel request