JSON 数组的 HTML 表单输入等效项是什么?
What is the HTML form input equivalent for a JSON array?
我正在尝试在 returns CSV 文件的 HTTP POST 端点的请求正文中发送一个 JSON 数组。
var config = {
foo: ['bar']
}
$http.post(url, config).success(...).error(...);
表示此配置输入的 Java class 如下所示:
@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 形式 POST 我想要的 JSON 数组?
据我所知没有对应的。您需要 POST
使用 JavaScript 的 HTML 表单,方法是构建(然后在请求中发送)一个 JSON 有效载荷,其值在 HTML 表单中(有点奇怪,但是嘿,你正在发送数据!)。
或者只是 POST
表单并在服务器端构建一个 JSON。
我正在尝试在 returns CSV 文件的 HTTP POST 端点的请求正文中发送一个 JSON 数组。
var config = {
foo: ['bar']
}
$http.post(url, config).success(...).error(...);
表示此配置输入的 Java class 如下所示:
@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 形式 POST 我想要的 JSON 数组?
据我所知没有对应的。您需要 POST
使用 JavaScript 的 HTML 表单,方法是构建(然后在请求中发送)一个 JSON 有效载荷,其值在 HTML 表单中(有点奇怪,但是嘿,你正在发送数据!)。
或者只是 POST
表单并在服务器端构建一个 JSON。