0

我正在尝试在 url 中传递一个数组,所以我尝试了这个:

?question_id=10&value=1&array=["Saab","Volvo","BMW"]

这没有用(没想到会,但这是一个开始)。

无论如何,它是一个键值数组,所以我需要这样的东西:

&array[28]=1&array[9]=1&array[2]=0&array[28]=0

但这也不起作用

4

4 回答 4

2

在 jquery 中试试这个

var arr = [1, 4, 9];
var url = '/page.php?arr=' + JSON.stringify(arr);
window.location.href = url;
于 2013-03-15T10:08:04.383 回答
1

如果你想传递一个数组,你只需要在 URI 中设置数组的不同部分,比如

http://example.com/myFile.php?cars[]=Saab&cars[]=volvo&cars[]=BMW

所以你得到你的格式化数组$_GET['cars']

print_r($_GET['cars']); // array('Saab', 'Volvo', 'BMW')

要在 javascript 中获得这样的结果,您可以使用这种代码

var cars = ['Saab', 'Volvo', 'BMW'],
    result = '';

for (var i = cars.length-1; i >= 0; i--) {
    results += 'cars[]='+arr[i]+'&';
}

results = results.substr(0, results.length-1); // cars[]=BMW&cars[]=Volvo&cars[]=Saab
于 2013-03-15T10:10:00.203 回答
0

尝试像这样通过

?question_id=10&value=1&my_array=Saab,Volvo,BMW

你可以像

<?php
    $my_array = explode(',',$_GET['my_array']);
?>

或者你可以这样尝试

$aValues = array('Saab','Volvo','BMW');
$url = 'http://example.com/index.php?';
$url .= 'aValues[]=' . implode('&amp;aValues[]=', array_map('urlencode', $aValues));
于 2013-03-15T10:08:16.610 回答
0

你也可以试试这个:

?arr[]="Saab"&arr[]="BMW"

使用 jQuery getUrlParam 扩展我可以很容易地获取 url 变量

或在 PHP 中

var_dump($_GET);
于 2013-03-15T10:11:06.467 回答