我正在尝试在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数组?
答案 0 :(得分:1)
据我所知,没有相应的内容。您需要使用JavaScript POST
使用JavaScript构建(以及稍后在请求中发送)带有HTML表单中的值的JSON有效负载(有点奇怪但是嘿,您正在发送数据!)。
或只是POST
表单并在服务器端构建JSON。