是否可以在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中执行此操作?
答案 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
不是有效的查询字符串时,他们就错了。