我有一个包含文件的表单,所以我使用 XMLHttpRequest 来处理数据的发送。
我想要做的是能够发送将由服务器端的杰克逊解析的对象。就像你对 json 所做的那样。
例如:
{ "number": 123, "string": "Hello World", "object": { "a": "b" }
}
所以我想创建“对象”。据我所知,我只能用“数字”和“字符串”
formData.append("string", "Hello World");
可能有办法格式化吗?
当我只是附加一些 JSON 格式的对象时,我得到了这个结果:
var oData = new FormData(document.forms.namedItem("upload-form")); element= {}; element.id = 2; element.type = "dfsdf"; element.url = "sdfsdff"; element.version = "asdasd"; arrayOfelement[0] = framework; oData.append("file", this.myfile.getFile()); oData.append("frameworks",JSON.stringify(arrayOfelement)) var xhr = new XMLHttpRequest(); xhr.open('POST', 'design', true); xhr.onload = function(e) { console.log("upload finished"); }; console.debug("sending form data", oData); xhr.send(oData); ------WebKitFormBoundaryVWNBucDMZSIlUcXY
内容处置:表单数据;name="arrayOfElements" {"0":{"id":2,"type":"dfsdf","url":"sdfsdff","version":"asdasd"}}
这显然不会被解析为服务器端的任何内容。