如何使用JSON/PHP/Mysql保存Javascript对象,以便在用户返回时重新加载它们?

如何使用JSON/PHP/Mysql保存Javascript对象,以便在用户返回时重新加载它们?,php,javascript,mysql,json,object,Php,Javascript,Mysql,Json,Object,我正在努力创建一个类似的“沙盒”,在这里,许多用户将登录并在他们自己的“沙盒”上创建可拖动的“节点”。我希望每次修改后应用程序都能自动保存,但首先要做的是——我正试着将我的Javascript对象存储在MySQL中 我不熟悉Javascript、PHP和MySQL,但JSON似乎是我在这项任务中最好的朋友。下面是一个节点的粗略示例: node1.pos node1.name node1.content node1.siblings *注意:实际节点将包含更多属性,有些属性可能包含敏感信息。 我

我正在努力创建一个类似的“沙盒”,在这里,许多用户将登录并在他们自己的“沙盒”上创建可拖动的“节点”。我希望每次修改后应用程序都能自动保存,但首先要做的是——我正试着将我的Javascript对象存储在MySQL中

我不熟悉Javascript、PHP和MySQL,但JSON似乎是我在这项任务中最好的朋友。下面是一个节点的粗略示例:

node1.pos
node1.name
node1.content
node1.siblings
*注意:实际节点将包含更多属性,有些属性可能包含敏感信息。

我的目标是让用户操纵每个节点(拖动、链接到同级节点、更改名称等),然后在重新访问页面时,“沙盒”会重新填充正确位置的节点,以及与之关联的所有正确数据

我想我可以处理填充画布的函数,但是在MySQL和Javascript之间移动对象让我感到困惑。具有方法的对象是否会导致任何问题


有没有人能提供任何帮助、建议或参考资料来帮助我?

我脑子里的一个建议:

动态保存编辑:

创建一个PHP页面,该页面只接受用户的POST请求(很明显,您需要某种形式的身份验证,这样randoms就不能用随机数据访问页面,但这是另一回事)。此页面将仅负责接受来自用户的AJAX请求

使用jQuery的UI库之类的东西创建您的沙盒页面(特别是如果您是新手,请使用预先编写的东西,不要尝试编写自己的)。这将是一个PHP页面,只需加载AJAX处理页面中已经存储在数据库中的任何值。使用jQuery,您可以检测元素何时被移动。在移动端,您将使用jQuery的功能将元素和坐标发送到ajax处理页面


下次用户登录时,根据需要添加/定位元素将非常简单。

我脑海中的一个建议:

动态保存编辑:

创建一个PHP页面,该页面只接受用户的POST请求(很明显,您需要某种形式的身份验证,这样randoms就不能用随机数据访问页面,但这是另一回事)。此页面将仅负责接受来自用户的AJAX请求

使用jQuery的UI库之类的东西创建您的沙盒页面(特别是如果您是新手,请使用预先编写的东西,不要尝试编写自己的)。这将是一个PHP页面,只需加载AJAX处理页面中已经存储在数据库中的任何值。使用jQuery,您可以检测元素何时被移动。在移动端,您将使用jQuery的功能将元素和坐标发送到ajax处理页面

下次用户登录时,根据需要添加/定位元素将变得很简单

  • 我建议您创建一个web服务来存储用户发送的任何数据。就这么定了http://server.net/store.php.

  • 然后,客户端将使用JavaScript将有意义的数据序列化为JSON,并附带一些用户凭据

    var dataPacket = {
        userCredentials: 77777777, /* whatever is sensible */
        nodes: [ {id: 1, posX: 10, posY: 345 }, {id: 2, posX: 5, posY: 136} ]
    };
    
  • 然后,客户端将使用jQuery+AJAX将数据发送到服务器

    $.ajax({
       type: "POST",
       url: "http://server.net/store.php",
       dataType: "json",
       data: dataPacket
     });
    
  • 然后,在服务器端检查数据是否有有效的用户凭据,然后可以继续在某种数据库中保存接收到的JSON编码数据,实际上这只是一个普通字符串

  • 创建一个web服务,该服务将从数据库中读取并返回任何以前存储的数据。就这么定了http://server.net/load.php.

  • 当用户需要加载他以前正在做的事情时,客户端将使用JavaScript请求数据

    $.ajax({
       type: "POST",
       url: "http://server.net/load.php",
       dataType: "json",
       data: {
           userCredentials: 77777777, /* whatever is sensible */
       }
       success: function(dataPacket) {
          /* process the received dataPacket */
       }
     });
    
  • 注意,代码依赖于jQuery,只是作为示例提供的,我还没有实际测试它


    另见:

    希望这有帮助

    上帝保佑

  • 我建议您创建一个web服务来存储用户发送的任何数据。就这么定了http://server.net/store.php.

  • 然后,客户端将使用JavaScript将有意义的数据序列化为JSON,并附带一些用户凭据

    var dataPacket = {
        userCredentials: 77777777, /* whatever is sensible */
        nodes: [ {id: 1, posX: 10, posY: 345 }, {id: 2, posX: 5, posY: 136} ]
    };
    
  • 然后,客户端将使用jQuery+AJAX将数据发送到服务器

    $.ajax({
       type: "POST",
       url: "http://server.net/store.php",
       dataType: "json",
       data: dataPacket
     });
    
  • 然后,在服务器端检查数据是否有有效的用户凭据,然后可以继续在某种数据库中保存接收到的JSON编码数据,实际上这只是一个普通字符串

  • 创建一个web服务,该服务将从数据库中读取并返回任何以前存储的数据。就这么定了http://server.net/load.php.

  • 当用户需要加载他以前正在做的事情时,客户端将使用JavaScript请求数据

    $.ajax({
       type: "POST",
       url: "http://server.net/load.php",
       dataType: "json",
       data: {
           userCredentials: 77777777, /* whatever is sensible */
       }
       success: function(dataPacket) {
          /* process the received dataPacket */
       }
     });
    
  • 注意,代码依赖于jQuery,只是作为示例提供的,我还没有实际测试它


    另见:

    希望这有帮助


    上帝保佑

    将Jquery UI与Mapbox结合在一起--“node”和“sandbox”。然而,该节点与javascript对象还没有关联,但我喜欢使用ajax提交到PHP处理页面的想法。。。我只需要在几个不同的地方/方式发布数据。我们的想法几乎相同;)将Jquery UI与Mapbox结合在一起--“node”和“sandbox”。然而,该节点与javascript对象还没有关联,但我喜欢使用ajax提交到PHP处理页面的想法。。。我只需要在几个不同的地方/方式发布数据。我们的想法几乎相同;)这不是一个真正的答案,但考虑到一些有趣的事情