微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 使用formdata发布数组

我正在使用新的 HTML5 FormData-Object通过Ajax发布一些值和图像.它到目前为止工作正常.现在,我想使用这个对象发布一个数组,但我在服务器端的所有内容都是“[object – object]”.如何使用formdata发布数组?

到目前为止我得到了什么

var formData=new FormData();
formData.append('text',$('#text').attr('value'));
formData.append('headline',$('#headline').attr('value'));
formData.append('myarray',{key1: 'bla',key2: 'blubb'});

最后一行不起作用.我发送带有此代码的请求

$.ajax({
                        url: 'xyz',data: formData,type: 'POST',processData: false,contentType: false,success: function(data) { 
                            var decoded=$.parseJSON(data);
                            displaySuccess('Success',decoded.message); 
                        },error: function(data){
                            var decoded=$.parseJSON(data);
                            displayError('Error',decoded.message);
                        },complete: function(data){
                            $('#cursor').hide();
                            $("#submitbutton").removeAttr('disabled')
                        }
                    });

提前致谢.

解决方法

从您的语法,您似乎试图传递一个对象,而不是一个数组.我不认为你可以通过HTML表单传递对象.
{ key1 : value1,key2 : value2 }

VS

[ value1,value2 ]

这是一般JS syntax的方便参考

原文地址:https://www.jb51.cc/jquery/179136.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐