2010-04-16 96 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