2013-03-15 50 views
0

我想传递一个阵列中的网址,所以我尝试这样做:如何传递一个URL中的数组以便通过javascript检索?

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

这不起作用(没想到它会,但它是一个开始)。

这是一个键和值数组反正所以我需要的东西是这样的:

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

但是,这并没有工作,要么

+0

使用'POST' arr中传递ay – Diode 2013-03-15 10:09:22

+0

通过GET传递大数组可能会很麻烦,因为并非所有浏览器都支持大的GET请求。我认为GET URLs被限制在255个字节,一些浏览器支持更大的,但是RFC的定义为255. – Husman 2013-03-15 10:14:47

回答

2

jQuery中尝试这个

var arr = [1, 4, 9]; 
var url = '/page.php?arr=' + JSON.stringify(arr); 
window.location.href = url; 
+0

哦,很酷的一个,谢谢! – 2013-03-15 10:23:18

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)); 
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 
0

你也可以试试这个:

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

使用jQuery getUrlParam扩展,我可以得到URL变量很容易

或PHP

var_dump($_GET); 
相关问题