【发布时间】:2010-04-23 01:41:36
【问题描述】:
我有以下数组:
var idParam = ["1","2","3"];
我想使用jQuery.ajax 将这些数据作为请求发送,我在做什么:
$.ajax({
type: "GET",
url: "Services/GetInfo.ashx",
data: { "id": idParam },
contentType: "application/text",
dataType: "json",
success: function(result)
{
...
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
...
}
});
但结果我有以下丑陋的字符串:?id[]=1&id[]=2&id[]=4(实际上它更丑陋:id%5B%5D=1&id%5B%5D=2&id%5B%5D=4)。
如何获取正常的字符串,例如:id=1&id=2&id=4 ??
谢谢
【问题讨论】:
-
它并不难看...应该是这样...如果
id=1&id=2&id=4,这会将所有 id 覆盖为 4...就像您只是传递 id=4 -
@Reigel - 这完全取决于您的服务器如何解释
GET请求。 -
其实不一定。相关的 RFC 不禁止多个键具有相同的名称;它真的取决于后端处理器。在这个例子中,ASP 会给你一个数组——
id=[1,2,4]。见stackoverflow.com/questions/1746507/… -
@Nick 是的!但它仍然会以一个值结束,不是吗??
-
@Reigel - 答案是也许,在我所知道的每个主要平台上,如果你愿意,你可以手动解析请求字符串,只是真的取决于什么服务器在做什么。不过,平台提供的易于访问的类可能无法处理它(即使它们应该根据规范)。