現在、作成フォームをコントローラに渡そうとしています。私は、ルートとAjaxコールのセットアップと、そのルートへの通話を持っています。私の問題は、私はajax呼び出しを使用するとヘッダーの検査ツールは私のフォームの値を正しく表示しているが、私がコントローラに入るとき、request-> input doesntはフォームの値を示している。コントローラが入力を取得しないlaravel
ここに私のAJAX呼び出し
$(document).on("click", ".form-submit-btn", function() {
// Get the form id.
var formID = $(this).closest("form").attr("id");
var serializedForm = $(this).closest("form").serialize();
var substringEnd = formID.indexOf("-form");
var route = formID.substr(0, substringEnd).replace("-", "_");
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
// Submit the form.
$.ajax({
method: "POST",
url: "/" + route,
data: {
serializedForm
},
success: function(data) {
alert(data);
}
});
});
はここに私のコントローラ
// Create Role
public function create(Request $request)
{
// Get and validate request params
$role = $request->input('role_name');
$active = $request->input('role-active', false);
return $role;
}
そして、ここでは私のルートは
Route::post('/create_role', '[email protected]');
ですされて私はからAJAX呼び出しを妨げている何かが足りません値をコントローラに送信する
これは私の形式でも役に立ちます。
<form id="create-role-form" class="form">
{{ csrf_field() }}
<button class="pull-right right-close-btn">X</button>
<h1>Add Role</h1>
<hr />
<div class="form-group">
<label>Role Name</label>
<input type="text" name="role_name" class="form-control" />
</div>
<div class="form-group">
<input type="checkbox" name="role_active" value="true" checked /> Active
</div>
<div class="form-group">
<button class="btn btn-primary form-control form-submit-btn">Create</button>
</div>
チェックしますprint_r($要求 - > serializedForm)お役に立てば幸いとブラケットが問題だったこと – RamAnji