首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何访问由ajax调用传递的php数组中的所有元素?

如何访问由ajax调用传递的php数组中的所有元素?
EN

Stack Overflow用户
提问于 2013-02-15 02:25:57
回答 4查看 272关注 0票数 0

我发现很难从php文件中访问数组中的元素。该数组通过ajax调用传递。请查看下面的ajax调用。

代码语言:javascript
运行
复制
var data = ['test1', 'test2', 'test3'];
$(document).ready(function () {
    $("button").click(function () {
        $.ajax({
            type: "POST",
            url: "getResult.php",
            data: {
                testData: data
            },
            success: function (data, status) {
                alert("Data: " + data + "\nStatus: " + status);
            }
        });
        return false;
    });
});

服务器端PHP代码是

代码语言:javascript
运行
复制
$myArray = $_POST["testData"];
echo $myArray; 

但是,$myArray总是返回数组中的最后一个elementtest3。如何访问first here test1和其他元素?请帮帮忙。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-15 02:31:10

您需要做的是将JavaScript数组转换为JSON,然后通过该JSON发送。在PHP端,您应该将JSON解码回一个数组。最后,应该将数组重新编码为JSON,然后再将其发回。

在您的客户端,更改一行:

代码语言:javascript
运行
复制
data: {testData : JSON.stringify(data)},

在您的服务器端执行以下操作:

代码语言:javascript
运行
复制
$myArray = json_decode($_POST["testData"]);
header('Content-Type: application/json');
echo json_encode(array('pheeds' => $pheeds, 'res' => $res));
票数 0
EN

Stack Overflow用户

发布于 2013-02-15 02:30:09

JS:

代码语言:javascript
运行
复制
JSON.stringify(data)

PHP:

代码语言:javascript
运行
复制
$myArray = json_decode($_POST['data']);
票数 0
EN

Stack Overflow用户

发布于 2013-02-15 02:36:07

对于简单的结构,可以使用jQuery Param

代码语言:javascript
运行
复制
data : $.param({testData:data})

这样,您就可以使用以下命令访问数据了

代码语言:javascript
运行
复制
echo $_POST["testData"][0]...[2];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14881550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档