在查询字符串中用分号查询jquery ajax?

时间:2014-02-27 02:34:09

标签: jquery ajax

是否可以在jQuery中使用分号分隔符而不是用于查询字符串的&符号分隔符提交ajax请求?

$.ajax({
  url: "http://api.some.host/event",
  type: "GET",
  data: {
    foo: "cat",
    bar: "dog"
}});

产量

http://api.some.host/event?foo=cat&bar=dog

我想要的是

http://api.some.host/event?foo=cat;bar=dog

有没有办法在jQuery中执行此操作?

2 个答案:

答案 0 :(得分:0)

$.ajax({
  url: "http://api.some.host/event?foo=cat;bar=dog",
  type: "GET"
}).done(function() {
  // do something
});

您可以使用字符串连接来构建网址。使用;分隔符没有提供jquery方法。

答案 1 :(得分:0)

这是一个有效的问题,在我看来是jQuery需要解决的一个重要问题 - 不确定为什么你在这个帖子中得到了这么多的回击。 Nginx和Apache都有简单的方法将分隔符更改为';'以及大多数Web框架,因此完全由前端开发人员来完成此更改。在那之前,这是我认为在jQuery中更改调用的最佳方法:

$.ajax({
  url: "http://api.some.host/event",
  type: "GET",
  data:
    "foo=cat;"+
    "bar=dog;"
  ,
  processData: false
});

理想情况下,jQuery会在ajax api中添加一个额外的标志,允许你将dataSeparator设置为';',但是唉。

当人们说?foo=cat;bar=dog不是有效的查询字符串时,他们就错了。