JavaScript数组到PHP数组然后在PHP中处理并返回

时间:2010-04-16 16:33:36

标签: php javascript ajax json

示例:

的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 < / p>

3 个答案:

答案 0 :(得分:2)

是的,您可以使用 JSON 和PHP的 json_encode() json_decode() 功能

答案 1 :(得分:0)

JavaScript中有库...会自动将您的数组转换为JSON,并且在PHP中有从JSON转换为PHP数组的函数...您在PHP中再次处理编码并在JS中解码...

JSON是JS的标准..尝试使用它,因为大多数语言已经为它提供支持,它会让你的生活更轻松

答案 2 :(得分: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,并处理结果。

服务器端,它取决于您使用的是哪个框架/ lib,但是您需要读取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