【发布时间】:2015-04-21 18:28:42
【问题描述】:
我正在尝试在返回 CSV 文件的 HTTP POST 端点的请求正文中发送 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();
上面的代码似乎没有发送格式正确的 JSON 数组供 Jackson 反序列化。根据 Chrome 开发工具,$http.post 版本发送foo: ["bar"],但form 版本发送foo[]: "bar"。
如何使用 HTML 表单发布我想要的 JSON 数组?
【问题讨论】:
-
没有等价物,表单不能产生 JSON,只有 www-urlencoded 数据。
标签: java javascript jquery json jackson