将localstorage中的json数组附加到服务器

时间:2016-10-31 15:13:52

标签: javascript php json

我在localstorage中有一个json文件,我已经将json分配给一个带有javascript的变量,以便我可以使用php访问它。现在我想将我的localstorage中的json文件的值附加到我的webserver中的json文件中。

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

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数据的值附加到我的web服务器上的json文件中。但我还想检查我的服务器中的json文件中是否已存在相同的“start”和“end”值,然后只更新“note”值orelse添加新的“start”,“end”和“data”值。

1 个答案:

答案 0 :(得分:1)

首先,我们必须了解3个核心概念:

  1. 您的javascript位于本地计算机的浏览器中(客户端)。
  2. 您的PHP在远程服务器(服务器端)上运行。
  3. 网络应用程序的生命周期在请求中执行(每次从浏览器发送/获取内容时)。
  4. 您无法直接实时地直接与他们沟通。但是,您可以从您的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开发工具并查看网络标签。在那里,您可以看到有关请求的所有信息。祝你好运!