2008-11-18 79 views

回答

18

您可以張貼回用XML或JSON服務器。你的JavaScript將不得不構建帖子,在XML的情況下,將需要你在JavaScript中創建它。 JSON不僅更輕巧,而且更易於在JavaScript中製作。查看JSON-PHP解析JSON。

你可能想看看Creating JSON Data in PHP

+1

我發現這是最好的答案,因爲它不沾特別是任何JavaScript框架。 – Lucia 2008-11-18 19:00:35

+0

甚至不一定是XML或JSON,您可以發佈CSV字符串或任何其他內容 – annakata 2009-01-08 12:22:13

+1

JSON-PHP庫fuzzymonk暗示已過時,並且更快的實現已經在PHP中。請參閱json_encode和json_decode函數的手冊。 – 2009-01-08 12:37:02

3

IIRC,如果PHP看到的查詢字符串看起來像http://blah.com/test.php?var[]=foo&var[]=bar&var[]=baz,它會自動創建一個名爲$var的數組,其中包含foo,bar和baz。我想你甚至可以在查詢字符串的方括號中指定數組索引,並將該值粘在該索引中。您可能需要對括號進行URL編碼...使用此功能的常用方法是創建名稱爲「var []」的HTML輸入字段,因此只需執行瀏覽器通常在其中執行的任何操作即可。 PHP文檔中有關於通過請求的數組變量的部分。

0

您可以創建一個數組,並把它作爲Meador推薦: (下面的代碼是Mootooled,但在其他圖書館類似的/純老JS)

myArray.each(function(item, index) myObject.set('arrayItems['+index+']', item); 
myAjax.send(myObject.toQueryString()); 

,將發送到PHP稱爲arrayItems數組,這可以通過$ _POST [ 'arrayItems']被訪問

echo $_POST['arrayItems'] ; 

會響應是這樣的:數組=> {[0] => '首先',[1] =>第二件事情}

26

你可以做到這一點與$。員額的jQuery(例如)的方法:

var myJavascriptArray = new Array('jj', 'kk', 'oo'); 

$.post('urltocallinajax', {'myphpvariable[]': myJavascriptArray }, function(data){ 
    // do something with received data! 
}); 

PHP將接受將被命名myphpvariable一個數組,它將包含myJavascriptArray值。

那個?

1

jQuery 1.4被更新爲使用PHP語法發送陣列。您可以使用它切換到舊風格:

這裏是synatax:

jQuery.ajaxSetting.traditional = true; 

這裏是例子

$.ajax({  
traditional: true, 
type: "post", 
url: myURL, 
dataType: "text", 
data: dataToSend, //this will be an array eg. 
success: function(request) { 
    $('#results').html(request); 
} // End success 
}); // End ajax method