2008-11-18 80 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