ajaxを使用してカスタムビルドデータオブジェクトをLaravelコントローラに渡すことができません。これまでのところAJAXを使用してかなり堅牢なWebアプリケーションを構築することができたので、これは非常に不満です。しかし、これは困難であることが判明しています。Laravel 5.2カスタム投稿データが渡されない
質問が複数の回答を含むことができる調査を構築しています(該当するものをすべて選択してください)。form.serialize()関数を使用するのではなく、自分で作成した応答オブジェクトを作成しました。サーバー側でレコードを保存します。関数が
function TraceHrForm(e)
{
e.preventDefault();
var post_url=$(this).attr('url');
var get_url=$(this).data('url');
var tag=$(this).attr('tag');
var checked = $("input[name*='sq']:checked");
var addinfo=$("input[name='additional_info']");
post_data=[];
checked.each(function(){
post_data.push({'sq_id': this.id, 'response': this.value});
});
addinfo.each(function(){
if(this.value.length>0)
{
post_data.push({'sq_id':this.id,'additional_info':this.value});
}
});
pdata={survey_response: post_data};
$.ajax({
type: "post",
url: post_url,
data: pdata,
headers: {'Content-type': "application/json"}
}).done(function(response){
console.log(response);
});
}
を下回っている私は、オブジェクトpdata
が正しく構築されており、routes.phpのファイルは、右のコントローラ機能にリクエストを送信しますが、私はコントローラ機能にリクエストオブジェクトを調べる際にクロームのDevツールで見ることができます、データは存在しない。私もちょうど$request->input(survey_response)
と同様$request
オブジェクトを見てみました
public function submit(Request $request, TraceHrSurvey $thr)
{
return var_dump($request->all());
任意の考えを最も高く評価されるだろう。