我很難使用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文件文件將請求發送到正確的控制器功能,但Chrome瀏覽器開發工具看到我檢查控制器功能的請求對象,目前沒有數據。
public function submit(Request $request, TraceHrSurvey $thr)
{
return var_dump($request->all());
我也嘗試只是在$request
對象找以及$request->input(survey_response)
任何想法,將最讚賞。