2014-05-19 58 views
1

如何在JavaScript中傳遞URL中的數組?在URL中傳遞javascript數組

我嘗試這樣做:

http://codeigniter/index.php/AssistanceMonitoringModule/assistanceMonitoring/getReport?remarks="+stat+"&sortBy="+sortBy+"&fromDate="+fromDate+"&toDate="+toDate+"&area="+area;

其中講話是PHP中一個是捕捉爲陣列和stat處於remarks供給的JavaScript陣列。有沒有解決方案?

每當有時間趕在PHP中remarks我用$this->input->get_post('remarks')(因爲使用笨IM)我得到一個錯誤

Thans「()提供的foreach無效參數」對你有所幫助。 :)

+0

get_post意味着您期待POST方法?無論如何,你可以像這樣編碼一個PHP數組:array [] = x&array [] = y ...等等。 – Sacho

回答

5

您可以將數組編碼爲JSON,使用JSON.stringify並使用PHP將其解碼爲json_decode。不要忘記使用URL中的值encodeURIComponent,否則您可能無法獲得您期望的URL。

+0

我已經嘗試了一種替代解決方案,但是謝謝aNyway。 :) 我的解決方案,將字符串爆炸成一個數組。 :P有效,但不可靠。 – akoDwin

0

試試這個。

http://codeigniter/index.php/AssistanceMonitoringModule/assistanceMonitoring/getReport?get[remarks]="+stat+"&get[sortBy]="+sortBy+"&get[fromDate]="+fromDate+"&get[toDate]="+toDate+"&get[area]="+area; 

foreach($_GET['get'] as $get){ 
.... 
} 
+2

這不是OP所要的,你提出的建議在任何情況下都是不必要的。如果有人想迭代URL中的所有查詢參數,他們可以執行'foreach($ _get as $ value){'。沒有必要只使用一個查詢參數。 –

+0

是的,你是對的,但仍然回答主要問題:D。這個問題有很多方法。 –

+0

不是。 OP想要將'remark'的值作爲數組發送。即'stat'是一個數組。他不想讓每個參數成爲數組的一個元素。 –