如何通过jQuery.ajax将JavaScript数组发送到PHP?

阿尔瓦罗·卡瓦尔坎蒂(Alvaro Cavalcanti)

我正在尝试通过jQuery.ajax将JavaScript数组发送到PHP页面,但是仅使用空白值发送该数组。

如果我在Chrome上打开F12控制台并检查JS对象,则该对象在那里。全部填满。但是,当我使用ChromePhp工具记录PHP变量时,它仅显示空白值(此外,如果我遍历php数组并回显其值,则会得到所有空白)。

我在这里很困惑。

这是我的示例代码:

<?php 
include 'ChromePhp.php';
if (isset($_GET['newUsers'])) {
    $newUsers = $_GET['newUsers'];
    ChromePhp::log($newUsers);
} else { ?>

<html>
<body>

    <script src="js/jquery-2.0.3.min.js"></script>
    <script type="text/javascript">
        var newUsers = [];

        newUser = [];
        newUser['nome'] = 'alvaro';
        newUser['idade'] = '34';
        newUsers.push(newUser);

        newUser1 = [];
        newUser1['nome'] = 'bia';
        newUser1['idade'] = '7';
        newUsers.push(newUser1);

        newUser2 = [];
        newUser2['nome'] = 'alice';
        newUser2['idade'] = '2';
        newUsers.push(newUser2);

        $.ajax({
            url: "testcookie.php",
            type: "GET",
            data: {
                'newUsers[]': newUsers
            }
        });

    </script>
</body>
</html>
<?php } ?>

根据第一条评论进行了更新现在,我可以传递对象,但是不知道如何读取其属性。已经尝试$ user ['nome'],但没有结果。

<?php 
include 'ChromePhp.php';

if (isset($_POST['newUsers'])) {

    $newUsers = $_POST['newUsers'];

    foreach ($newUsers as $user) {
        # code...
        # HOW DO I READ THE nome AND idade VALUES HERE?
    }

} else { ?>

<html>
<body>

    <script src="js/jquery-2.0.3.min.js"></script>
    <script type="text/javascript">
        //var newUsersObj = {};
        var newUsers = [];

        newUser = {};
        newUser['nome'] = 'alvaro';
        newUser['idade'] = '34';
        newUsers.push(newUser);

        newUser1 = {};
        newUser1['nome'] = 'bia';
        newUser1['idade'] = '7';
        newUsers.push(newUser1);

        newUser2 = {};
        newUser2['nome'] = 'alice';
        newUser2['idade'] = '2';
        newUsers.push(newUser2);

        $.ajax({
            url: "testcookie.php",
            type: "POST",
            data: {
                'newUsers[]': newUsers
            },
            success: function () {

            },
            error: function () {

            }
        });

    </script>
</body>
</html>
<?php } ?>
阿尔瓦罗·卡瓦尔坎蒂(Alvaro Cavalcanti)

知道了!

为了正确访问PHP中的JavaScrtipt对象,我需要在对数组进行推送对其进行JSON.stringify然后,在PHP上,json_decode解码为一个PHP对象,并使用'->'运算符访问其属性

最终的解决方案如下:

<?php 
include 'ChromePhp.php';

if (isset($_POST['newUsers'])) {

    $newUsers = $_POST['newUsers'];

    foreach ($newUsers as $user) {
        # code...
        $usr = json_decode($user);
        ChromePhp::log("Nome: " . $usr->nome . " - Idade: " . $usr->idade);
    }

} else { ?>

<html>
<body>

    <script src="js/jquery-2.0.3.min.js"></script>
    <script type="text/javascript">
        //var newUsersObj = {};
        var newUsers = [];

        newUser = {};
        newUser['nome'] = 'alvaro';
        newUser['idade'] = '34';
        newUsers.push(JSON.stringify(newUser));

        newUser1 = {};
        newUser1['nome'] = 'bia';
        newUser1['idade'] = '7';
        newUsers.push(JSON.stringify(newUser1));

        newUser2 = {};
        newUser2['nome'] = 'alice';
        newUser2['idade'] = '2';
        newUsers.push(JSON.stringify(newUser2));

        $.ajax({
            url: "testcookie.php",
            type: "POST",
            data: {
                'newUsers[]': newUsers
            },
            success: function () {

            },
            error: function () {

            }
        });

    </script>
</body>
</html>
<?php } ?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过ajax将javascript对象发送到php?

来自分类Dev

通过AJAX将数组发送到PHP

来自分类Dev

无法通过 AJAX 将数组发送到 php?

来自分类Dev

将JQuery AJAX中的多维数组发送到PHP

来自分类Dev

通过Ajax将数据从Javascript发送到JSON,再发送到PHP

来自分类Dev

使用jQuery通过Ajax将数据从javascript发送到php。如何查看回来的数据?

来自分类Dev

通过AJAX将PHP变量发送到JavaScript

来自分类Dev

Javascript:通过ajax将json数据发送到php

来自分类Dev

使用jQuery将javascript数组发送到php

来自分类Dev

通过Jquery AJAX调用将JSON发送到PHP

来自分类Dev

将php数组发送到jquery ajax并从该数组进行每个循环

来自分类Dev

如何将jQuery数组发送到PHP页面

来自分类Dev

如何使用jQuery $ .post()将数组发送到PHP

来自分类Dev

如何将 JavaScript 数组从 Ajax 发送到控制器

来自分类Dev

通过$ .post问题将数组发送到PHP

来自分类Dev

Ajax JQuery将数据发送到php脚本

来自分类Dev

$ ajax和jQuery将数据发送到php

来自分类Dev

无法将jQuery ajax()请求发送到php

来自分类Dev

将数组从jquery发送到PHP并返回

来自分类Dev

如何使用Ajax将图像发送到PHP文件?

来自分类Dev

php如何将结果立即发送到ajax

来自分类Dev

php如何将结果立即发送到ajax

来自分类Dev

Vue + php,如何将数组发送到道具?

来自分类Dev

通过POST将JavaScript变量发送到PHP

来自分类Dev

通过$ POST将值从javascript发送到php

来自分类Dev

如何将结果javascript发送到php邮件?

来自分类Dev

如何通过JQuery AJAX调用从客户端将HTTP标头发送到PHP脚本?

来自分类Dev

通过POST或AJAX JQuery将JSON对象发送到PHP

来自分类Dev

在按钮上单击,通过Ajax请求将Javascript数组发送到Rails控制器

Related 相关文章

  1. 1

    如何通过ajax将javascript对象发送到php?

  2. 2

    通过AJAX将数组发送到PHP

  3. 3

    无法通过 AJAX 将数组发送到 php?

  4. 4

    将JQuery AJAX中的多维数组发送到PHP

  5. 5

    通过Ajax将数据从Javascript发送到JSON,再发送到PHP

  6. 6

    使用jQuery通过Ajax将数据从javascript发送到php。如何查看回来的数据?

  7. 7

    通过AJAX将PHP变量发送到JavaScript

  8. 8

    Javascript:通过ajax将json数据发送到php

  9. 9

    使用jQuery将javascript数组发送到php

  10. 10

    通过Jquery AJAX调用将JSON发送到PHP

  11. 11

    将php数组发送到jquery ajax并从该数组进行每个循环

  12. 12

    如何将jQuery数组发送到PHP页面

  13. 13

    如何使用jQuery $ .post()将数组发送到PHP

  14. 14

    如何将 JavaScript 数组从 Ajax 发送到控制器

  15. 15

    通过$ .post问题将数组发送到PHP

  16. 16

    Ajax JQuery将数据发送到php脚本

  17. 17

    $ ajax和jQuery将数据发送到php

  18. 18

    无法将jQuery ajax()请求发送到php

  19. 19

    将数组从jquery发送到PHP并返回

  20. 20

    如何使用Ajax将图像发送到PHP文件?

  21. 21

    php如何将结果立即发送到ajax

  22. 22

    php如何将结果立即发送到ajax

  23. 23

    Vue + php,如何将数组发送到道具?

  24. 24

    通过POST将JavaScript变量发送到PHP

  25. 25

    通过$ POST将值从javascript发送到php

  26. 26

    如何将结果javascript发送到php邮件?

  27. 27

    如何通过JQuery AJAX调用从客户端将HTTP标头发送到PHP脚本?

  28. 28

    通过POST或AJAX JQuery将JSON对象发送到PHP

  29. 29

    在按钮上单击,通过Ajax请求将Javascript数组发送到Rails控制器

热门标签

归档