Javascript 如何创建XMLHttpRequest FormData表单对象

Javascript 如何创建XMLHttpRequest FormData表单对象,javascript,json,spring,xmlhttprequest,jackson,Javascript,Json,Spring,Xmlhttprequest,Jackson,我有一个包含文件的表单,所以我使用XMLHttpRequest来处理数据的发送 我试图做的是能够发送将由jackson在服务器端解析的对象。就像使用json一样 例如: } 所以我想创建“对象”。据我所知,我只能使用“数字”和“字符串” 也许有什么方法可以格式化它 当我只是附加一些JSON格式的对象时,结果是: 内容配置:表单数据;name=“ArrayOfelments” {“0”:{“id”:2,键入:“dfsdf”,“url”:“sdfsdff”,“版本”:“asdasd”} 这显然不会在

我有一个包含文件的表单,所以我使用XMLHttpRequest来处理数据的发送

我试图做的是能够发送将由jackson在服务器端解析的对象。就像使用json一样

例如:

}

所以我想创建“对象”。据我所知,我只能使用“数字”和“字符串”

也许有什么方法可以格式化它

当我只是附加一些JSON格式的对象时,结果是:

内容配置:表单数据;name=“ArrayOfelments” {“0”:{“id”:2,键入:“dfsdf”,“url”:“sdfsdff”,“版本”:“asdasd”}


这显然不会在服务器端解析为任何内容。

要使用XMLHttpRequest通过表单数据发送Javascript对象,您需要将其JSON字符串化:

var obj = {
    "number": 123,
    "string": "Hello World",
    "object": {
        "a": "b"
    }
}
formData.append(JSON.stringify(obj));

更多信息:

要使用XMLHttpRequest通过表单数据发送Javascript对象,需要JSON字符串化它:

var obj = {
    "number": 123,
    "string": "Hello World",
    "object": {
        "a": "b"
    }
}
formData.append(JSON.stringify(obj));

更多信息:

您的
WebKitFormBoundary
示例与您的javascript不太匹配,但假定JSON字符串使其以您描述的形式在服务器端运行,那么它以什么方式明显“不会被解析为服务器端的任何内容”?您将这个问题标记为Jackson,因此我假设您的服务器端是Java。您是否正在尝试找出如何使用Jackson解析POST数据和JSON解析POST字符串?您的
WebKitFormBoundary
示例与您的javascript不太匹配,但假定JSON字符串使其服务器端的形式与您描述的大致相同,以何种方式清楚“不会被解析为服务器端的任何内容”?您将此问题标记为Jackson,因此我假设您的服务器端是Java。您是否正在尝试了解如何使用Jackson解析POST数据和JSON解析POST字符串?
    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
var obj = {
    "number": 123,
    "string": "Hello World",
    "object": {
        "a": "b"
    }
}
formData.append(JSON.stringify(obj));