2010-02-05 16 views
13

Tôi có một mảng javascript nói jsArr[]. Tôi muốn mảng này được chuyển đến một trang php thông qua phương thức get. Một cái gì đó như nextPage.php?arr=jsArr[].

Ở đó tôi sẽ có thể truy cập vào các mảng như $arr[] = $_GET[arr] và thực hiện các hoạt động như foreach($arr as $key => $val)

Có thể ...?

Cảm ơn rất nhiều trước ...

Trả lời

10

bạn cần thay đổi url của bạn là:

nextPage.php?arr[]=js&arr[]=js2 

ví dụ.

var_dump($_GET); 

kết quả đầu ra: array(1) { ["arr"]=> array(2) { [0]=> string(2) "js" [1]=> string(3) "js2" } }

+0

Tôi có nên nhận nó như "$ _GET [arr]" trong trang php ...? – SpikETidE

+0

@SpikETidE: Có. –

+3

Về mặt kỹ thuật, '$ _GET ['arr']'. Nó sẽ làm việc mà không có dấu ngoặc kép vì PHP ngớ ngẩn xử lý các hằng số không xác định như các chuỗi không được trích dẫn, nhưng điều đó không bao giờ nên dựa vào. http://us3.php.net/manual/en/language.constants.syntax.php –

0

Một cách để đạt được điều này sẽ jQuery's serialize()

+0

Không thể sử dụng t plugin của mình ... tôi không muốn gửi một hình thức toàn bộ ... chỉ cần vượt qua mảng này ... – SpikETidE

18

Bạn cũng có thể sử dụng JSON (JS phân tích cú pháp here)

JS:

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

PHP:

$arr = isset($_REQUEST['arr']) ? json_decode($_REQUEST['arr']) : array(); 
Các vấn đề liên quan