2010-04-16 64 views
1

實施例:JavaScript數組到PHP陣列然後在PHP過程並返回

的javascript:然後

var mycourses=new Array(); 
mycourses[0]="History";  
mycourses[1]="Math"; 
mycourses[1][0]="Introduction to math"; 
mycourses[1][1]="Math 2"; 
mycourses[1][2]="Math 3"; 

PHP將通過功能執行這些值(請注意值大多不是字符串作爲在上面的例子而是數字),函數將返回一些文本,而不是以表格形式顯示。

我應該如何去做這件事?

ps:我發現了一些類似的東西,但沒有什麼比這個...就我看到我將不得不使用JSON(有沒有一種方法可以從JS自動編碼 - 看到這個字符串)和AJAX

回答

0

在JavaScript中有庫...它會自動將您的數組轉換爲JSON,並且在PHP中有從JSON轉換爲PHP數組的函數...您在PHP中再次編碼並在JS中解碼.. 。

JSON是JS的標準..嘗試使用它,因爲大多數語言已經提供了支持它,它會讓你的生活更輕鬆

+0

這些圖書館是......? – Constructor 2010-04-16 17:20:30

0

客戶端,您需要將數據發送到服務器並找回結果。這是與jQuery一個示例代碼,但你可以做類似的事情與其他lib或純JS:

$.post("compute_courses.php", mycourses) 
    .done(function(data) { 
    // Handle result 
    }) 
    .fail(function(jqXHR, textStatus, errorThrown) { 
    // Handle error here 
    }); 

這將mycourses陣列發送到compute_courses.php,和處理結果。服務器端,它取決於您正在使用的框架/庫,但您需要閱讀json,應用處理並返回結果(最有可能使用json_encode)。如果你打算自己寫的那部分(不帶第三方框架/ lib目錄),你可以嘗試這樣的:

$input = file_get_contents("php://input"); 
$mycourses = json_decode($input, true); 
// Treatment... 
$json_result = json_encode($mycourses); 
exit($json_result); 

如果你正在尋找一個PHP框架,有助於做這種東西,我建議你使用SilexSlim