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

标签 php javascript mysql json object

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

我是 Javascript、PHP 和 MySQL 的新手,但 JSON 似乎是我完成这项任务的最佳伙伴。这是一个节点的粗略示例:

node1.pos
node1.name
node1.content
node1.siblings

*注意:实际节点将包含更多属性,其中一些具有潜在的敏感信息。

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

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

有没有人有任何可以帮助我的帮助、建议或引用资料?

最佳答案

  1. 我建议您创建一个网络服务来存储用户发送的任何数据。我们称它为http://server.net/store.php

  2. 然后客户端将使用 JavaScript 将有意义的数据连同一些用户凭证序列化为 JSON...

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

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

  5. 创建一个 Web 服务,该服务将从数据库中读取并返回任何以前存储的数据。我们称它为http://server.net/load.php

  6. 当用户需要加载他之前正在做的事情时,客户端会使用 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,仅作为示例提供,我还没有实际测试过。


另见:

希望这对您有所帮助。

上帝保佑!

关于php - 我将如何使用 JSON/PHP/Mysql 保存我的 Javascript 对象,以便在用户返回时重新加载它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4834917/

相关文章:

php - 预防&磅;被回显 : why doesn't the actual symbol show?

php - 撇号php问题

php - Yii:将 JavaScript 添加到 header

php - MySQL(客户来订单)

php - in_array() 和多维数组

javascript - 列表打开或关闭时如何添加加号和减号图标?

javascript - HTML 中的 <script> 标记位置是否会影响网页的性能?

java - "DataBase encryption in Hibernate"返回 'encryptedBody' 中的未知列 'field list'

javascript - 如何将 jQuery 代码绑定(bind)到某些页面上?

mysql - 查询异常 (42S22) SQLSTATE[42S22] : Column not found: 1054 Unknown column 'username'