У меня возникли трудности с передачей пользовательского объекта данных сборки контроллеру Laravel с помощью ajax. Это очень расстраивает, так как мне удалась использовать AJAX для создания довольно надежного веб-приложения. Однако это трудно.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);
});
}
Я могу видеть в инструментах Chrome Dev, что объект pdata
построен правильно и файл routes.php посылает запрос к функции правого контроллера, но когда я исследую объект запроса в функции контроллера , данных нет.
public function submit(Request $request, TraceHrSurvey $thr)
{
return var_dump($request->all());
Я также попытался просто глядя на $request
объекта, а также $request->input(survey_response)
Любые мысли были бы весьма признательны.