gpt4 book ai didi

javascript - 具有相同键的多个值的 jquery ajax 数据对象

转载 作者:搜寻专家 更新时间:2023-11-01 04:48:29 25 4
gpt4 key购买 nike

我想进行 ajax 调用,并且在数据对象中我需要在同一个键中有多个值。

var data = {
foo: "bar",
foo: "baz"
}

$.ajax({
url: http://example.com/APIlocation,
data: data,
success: function (results) { console.log(results) },
dataType: 'json'
});

目的是获取类似于以下内容的 URL:

http://example.com/APIlocation?foo=bar&foo=baz

我试过像这样构造数据:

var data = {
foo: ["bar","baz"]
}

不出所料,它不起作用,因为它像这样对 url 进行编码:

http://example.com/APILocation?foo%5B%5D=bar&foo%5B%5D=baz

我尝试了解决方案 here , 但无法使其工作。

最佳答案

您可以使用 jQuery 的 $.param 将数组转换为多次包含相同键的参数字符串。将第二个参数设置为 true,这样它就不会进行 url 编码,然后只需将该字符串传递给 AJAX 调用中的数据属性:

var data = $.param({ foo: ['bar', 'baz'] }, true);
// data is now 'foo=bar&foo=baz'

$.ajax({
url: 'http://example.com/APIlocation',
data: data, // Will handle the string correctly.
success: function (results) { console.log(results) },
dataType: 'json'
});

或者,对于对象,您可以将 traditional 属性设置为 true:

var data = {
foo: ["bar","baz"]
};

$.ajax({
url: 'http://example.com/APIlocation',
data: data,
success: function (results) { console.log(results) },
dataType: 'json',
traditional: true
});

关于javascript - 具有相同键的多个值的 jquery ajax 数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30008144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com