无法通过ajax获取完整的数组
Posted
技术标签:
【中文标题】无法通过ajax获取完整的数组【英文标题】:Can't get complete array through ajax 【发布时间】:2017-03-05 05:34:13 【问题描述】:$.ajax(
headers: 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content'),
method: 'POST',
url: "URL::to('/person/mission/punch/import')",
data:
form_year: selected_year,
forms: form.data
,
success: function ()
alert('success');
,
error: function ()
alert('fail');
);
我看到Chorme -> Network -> Header -> Form Data。
这里有完整的数组。
我的 php:
dd($_POST['forms']);
无法转储完整的 Array()。我使用 Laravel。
【问题讨论】:
form
的定义是什么?
【参考方案1】:
您的索引值不正确,它必须是有效的数据或 json 对象
data:
form_year: selected_year,
forms: $("#formID").serializeObject();
,
我创建了一个 jquery 函数,它将序列化的表单数据转换为 json 对象
$.fn.serializeObject = function()
var o = ;
var a = this.serializeArray();
$.each(a, function()
if (o[this.name] !== undefined)
if (!o[this.name].push)
o[this.name] = [o[this.name]];
o[this.name].push(this.value || '');
else
o[this.name] = this.value || '';
);
return o;
;
Javascript
$.fn.serializeObject = function()
var o = ;
var a = this.serializeArray();
$.each(a, function()
if (o[this.name] !== undefined)
if (!o[this.name].push)
o[this.name] = [o[this.name]];
o[this.name].push(this.value || '');
else
o[this.name] = this.value || '';
);
return o;
;
$.ajax(
headers: 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content'),
method: 'POST',
url: "URL::to('/person/mission/punch/import')",
data:
form_year: selected_year,
forms: $("form").serializeObject();
,
success: function ()
alert('success');
,
error: function ()
alert('fail');
);
【讨论】:
以上是关于无法通过ajax获取完整的数组的主要内容,如果未能解决你的问题,请参考以下文章