【问题标题】:append json array from localstorage to json file on server将本地存储中的 json 数组附加到服务器上的 json 文件中
【发布时间】:2016-10-31 15:13:51
【问题描述】:

我在 localstorage 中有一个 json 文件,我已将该 json 分配给使用 javascript 的变量,以便我可以使用 php 访问它。现在我想将我本地存储中的那个 json 文件的值附加到我的网络服务器中的 json 文件中。

这是我如何将 localstorage json 添加到变量的示例 javascript 代码

var lstore = ('data:application/json;charset=utf-8,' + encodeURIComponent(localStorage.regions));

现在当我在 javascript 程序中运行 window.open(lstore); 时,我可以在浏览器窗口中看到完整的 json 数组。

示例 json 数组如下所示

[{
  "start":6,
  "end":8.2,
  "data":{
          "note":"ex1"
         }},
 { 
   "start":8.6,
   "end":12.2,
   "data":{
           "note":"rtt save"
          }},
 {
   "start":12.8,
   "end":16.2,
   "data":{
            "note": "rtl rss"
          }},

我想做的是从 javascript 调用一个 php 脚本,然后将我的 localstorage json 数据的值附加到我的网络服务器上的 json 文件中。但我也想检查我服务器的 json 文件中是否已经存在相同的“开始”和“结束”值,然后只需更新“注释”值或添加新的“开始”、“结束”和“数据”价值。

【问题讨论】:

  • 欢迎来到 Stack Overflow。您可以使用Code Sample {} 工具栏按钮格式化源代码——这次我已经为您完成了。
  • 我不太明白你想要什么,但如果我是对的,你应该把你必须的 json 对象保存到 .php 文件中,然后在 .php 文件中使用 json_decode() 来解码 json对象到字符串。我不知道这是否有帮助。

标签: javascript php json


【解决方案1】:

这里首先我们要了解3个核心概念:

  1. 您的 javascript 存在于本地计算机(客户端)的浏览器中。
  2. 您的 PHP 在远程服务器(服务器端)上运行。
  3. Web 应用程序的生命周期在请求中执行(每次您从浏览器发送/获取某些内容时)。

您无法开箱即用地直接与它们实时通信。但是,您可以将请求从您的 javascript(客户端)发送到您的服务器(服务器端)。

使用 JQuery 非常简单。在您的 javascript 文件中,您可以:

$.post('/yoursite.com/your_php_script.php', lstore);

这将向您的服务器发送一个 AJAX 请求。现在在 your_php_script.php 中,您必须捕获该 JSON 的内容。

$data = json_decode(file_get_contents('php://input'));

这会从您刚刚发送的请求正文中读取 JSON。

您可能想要使用 Chrome 开发工具并查看网络标签。在那里您可以看到有关请求的所有信息。祝你好运!

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 2016-10-13
    • 2022-11-02
    • 2022-01-21
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    相关资源
    最近更新 更多