首页 > 解决方案 > 对象、php、javascript 错误

问题描述

Javascript 对象到 PHP 对象

我正在搜索如何将关联数组从 JavaScript 传递到 PHP 对象的教程并找到了这个视频。我认为它有点旧,它是在 2010 年添加的。我试过了,但有错误。我请你帮我纠正它或帮我从 js 对象中获取 php 对象。

索引.php

<script>
        let ar = new Array();
        ar["name"] = "name1";
        ar["name1"] = "name2";
        console.log(ar);

        function convertOb(object){
            var json = "{";
            for (property in object) {
                var value = object[property];

                if (typeof(value) == "string") {
                    json += '"' + property + '":"' + value +'",';
                } else{
                    if (!value[0]) {
                        json += '"' + property + '":"' + convertOb(value) + ',';
                    } else{
                        json+= '"'+ property +'":[';
                        for (prop in value) json+= '"' + value[prop] + '",';
                            json = json.substr(0,json.length-1) + "],";
                    }
                }

            } return json.substr(0,json.length-1) + "}";
        }

        let json = convertOb(ar);
        $.post("main.php", {json:json}, function(data){
              console.log(data);
        });
        
    </script>

主文件

<?php
        function jsonstring2obj($str){
            return json_decode(stripslashes($str));
        }

        $ar = jsonstring2obj($_POST['json']);  //error1
        echo $ar->name; //error2

    ?>

我的错误:

未定义索引:json //error1

试图获取非对象的属性“名称”//error2

标签: javascriptphp

解决方案


推荐阅读