2016-10-31 35 views
-1

我在localstorage中有一個json文件,並且我已將該json分配給一個帶有javascript的變量,以便我可以使用php訪問該變量。現在我想將我的localstorage中的json文件的值附加到我的web服務器中的json文件中。將json數組從本地存儲追加到服務器上的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數據的值追加到我的網絡服務器的JSON文件。但我也想檢查在我的服務器的json文件中是否存在相同的「開始」和「結束」值,然後更新「註釋」值orelse添加新的「開始」,「結束」和「數據」值。

+0

歡迎來到Stack Overflow。您可以使用[代碼示例'{}'](http://i.stack.imgur.com/VYd26.png)工具欄按鈕格式化源代碼 - 這次我已經爲您完成了。 –

+0

我不太明白你想要什麼,但是如果我是對的,你應該知道json對象,你必須要一個.php文件,然後在.php文件中使用json_decode()來解碼一個json對象。我不知道這是否有幫助。 –

回答

1

首先,我們必須瞭解3個核心概念在這裏:

  1. 您的JavaScript住在你的本地計算機(客戶方)的瀏覽器。
  2. 您的PHP在遠程服務器(服務器側)上運行。
  3. Web應用程序的生命週期在請求中執行(每次從瀏覽器發送/獲取)。

您不能直接在開箱即可直接溝通它們。但是,您可以從您的javascript(clientside)發送請求到您的服務器(serverside)。

使用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開發工具並查看網絡選項卡。在那裏你可以看到關於請求的所有信息。祝你好運!

相關問題