【发布时间】:2014-03-05 16:33:49
【问题描述】:
我正在构建一个多维数组并尝试通过 ajax 将其与其他数据位一起发送。
这是我的数组的创建方式:
var filelist = new Array;
$(this).find('input[name=filename]').each(function(index) {
var fileinfo = new Array;
fileinfo['src'] = $(this).data('src');
fileinfo['name'] = $(this).val();
filelist.push(fileinfo);
});
如果我将其回显到控制台,它看起来是正确的。
然后是AJAX调用:
$.ajax({
type: 'post',
url: 'my_url_here',
data: { id: id, files: filelist },
})
使用 Chrome Inspector,我可以看到在表单数据部分传递的 ID,但文件数组不是。
什么给了?
【问题讨论】:
-
文件列表在什么范围内?贴出更完整的代码
-
不确定是否有区别,但为什么
fileinfo是一个数组而不是一个对象? -
好吧,我正在用 PHP 获取数据(准确地说是 CodeIgniter)。我会尝试将 filelist 作为对象,但这能解决问题吗?
-
您确定
.each发生在 ajax 调用之前吗?
标签: javascript jquery arrays multidimensional-array