带有数组获取变量的$ .post语法

时间:2013-07-12 00:57:32

标签: javascript ajax jquery

我正在尝试使用GET传递一个arrary,就像你通常在浏览器中那样做

val[]=whatever&val[]=secondwhater....

我想知道jquery的等效语法是什么,因为我在执行此操作时遇到错误:

com[]:(one),com[]:(two),com[]:(three),com[]:(four),com[]:(five),com[]:(six),com[]:(seven)

2 个答案:

答案 0 :(得分:0)

您应该能够简单地将数组作为数据传递,例如

$.post(url, {
    val: ['whatever', 'secondwhater']
});

这将在POST数据中发送以下内容

val[]: whatever
val[]: secondwhater

或原始形式

val%5B%5D=whatever&val%5B%5D=secondwhater

答案 1 :(得分:0)

jQuery将使用jQuery.param()辅助函数为您序列化数组。所以这就足够了:

jQuery.post(
    '/some_url',
    {
        'com': [
            '(one)', '(two)', '(three)', '(four)', '(five)', '(six)', '(seven)'
        ]
    }
);

请参阅演示以发送此请求(只需观看浏览器的控制台):http://jsfiddle.net/VebZk/