什么是JSON数组的HTML表单输入等效?

时间:2015-04-21 18:28:43

标签: java javascript jquery json jackson

我正在尝试在HTTP POST端点的请求主体中发送一个返回CSV文件的JSON数组。

var config = {
    foo: ['bar']
}
$http.post(url, config).success(...).error(...);

表示此配置输入的Java类如下所示:

@JsonProperty List<String> foo;

上述$http.post工作正常,但我需要打开CSV文件的下载提示。我需要支持IE8,所以我正在构建一个类似于gist的表单。

var form = $("<form></form>").attr("action", url)
                             .attr("method", "post");
form.append($("<input/>").attr("type", "hidden")
                         .attr("name", "foo[]")
                         .attr("value", "bar"));
form.appendTo($("body"))
    .submit()
    .remove();

上面的代码似乎没有为Jackson发送格式正确的JSON数组来反序列化。根据Chrome开发工具,$http.post版本发送foo: ["bar"],但form版本发送foo[]: "bar"

如何使用HTML表单发布我想要的JSON数组?

1 个答案:

答案 0 :(得分:1)

据我所知,没有相应的内容。您需要使用JavaScript POST使用JavaScript构建(以及稍后在请求中发送)带有HTML表单中的值的JSON有效负载(有点奇怪但是嘿,您正在发送数据!)。

或只是POST表单并在服务器端构建JSON。

相关问题