java - 如何用Java模拟$.ajax数组POST请求

标签 java javascript php ajax

我正在尝试用 java 程序模拟 ajax post 请求。

模拟有效,但如果我发布一个数组,它会以字符串形式返回。

我正在使用 Guava :

Map<String, String> data = new HashMap<String, String>();

data.put(URLEncoder.encode("affected_ids[]", "UTF-8"), URLEncoder.encode(Joiner.on(":").join(arrIds), "UTF-8"));
data.put("select_all", "true");

String d = Joiner.on("&").withKeyValueSeparator("=").join(data);

d 的内容如下:

select_all=false&affected_ids%5B%5D=504728%3A121741%3A121742%3A124908%3A316787%3A560950%3A560955%3A560957%3A560958%3A560960%3A516653%3A504729%3A504732%3A504741%3A504748%3A504749%3A552317%3A552320%3A552321%3A552324 

并将其转换为 PHP 字符串:

array(1) {
  [0]=>
  string(139) "504728:121741:121742:124908:316787:560950:560955:560957:560958:560960:516653:504729:504732:504741:504748:504749:552317:552320:552321:552324"
}

我尝试了不同的分隔符:“,”和“”,但没有成功。

什么是正确的格式?

最佳答案

如果你想让PHP自动识别数据为数组,你必须发送多个同名参数,每个参数都以[]结尾。 .

例如:

foo[]=1&foo[]=2

将在 PHP 中作为 $_GET['foo'] 访问, 返回数组 array(1,2) .

更多信息可以在 Variables From External Sources 中找到和 How do I create arrays in a HTML <form> ? .

关于java - 如何用Java模拟$.ajax数组POST请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30836161/

相关文章:

php - 获取 XML 元素文本,跳过某些元素,将其转换为单个字符串

javascript - url 中没有 id 的内部链接

javascript - jQuery高级选择检测并单击

php - rtmp是保护图片的唯一方法吗

java - 在使用 2 个分区创建的 Azure 事件中心中,事件中心使用者尝试连接到第 3 个和第 4 个分区

javascript - 如何将用户输入的值添加到我的 Chart.js 折线图中?

php - 通过多个条件插入 ORM 查找

java - 正则表达式?对于一组词

java - java中同时按下两个键

java - 提取 HTML <br> 标签中的文本 JSOUP