2013-03-08 82 views
0

我有一個Javascript變量,它是一個帶有鍵和數組的對象(縮寫版本如下所示)。我使用HTML格式編寫腳本,以便有權訪問的用戶(在他們登錄後)可以刪除,添加或更改任何其族譜的密鑰。我需要知道的是如何使用這個新的,更改過的變量並將其保存到服務器,例如userNameGenealogy.js,以便其他頁面可以使用它。我做了一些搜索,但不知道我需要的只是面向PHP,或者如果我需要查看AJAX或JSON。在一個新文件中保存一個Javascript變量

var genealogy = {}; 
    genealogy["Johnson"] = { 
     "Ron": new Array(
      {"nickname":"Ronny","dob":"06/20/88"}, 
      {"nickname":"Ronald","dob":"03/15/54"}), 
     "Scott": new Array(
      {"nickname":"Scotty","dob":"01/21/42"}) 
    }; 

這只是一個小片段,但我不希望有改變的JavaScript的格式,作爲網站的其餘部分編碼與它合作的是。任何幫助/點在正確的方向將不勝感激。

+0

從服務器中你是如何獲取的東西呢? – Stevo 2013-03-08 07:44:50

+0

這是一個單獨的JavaScript文件,使用腳本src在頁面加載時調用 – 2013-03-08 07:59:54

+0

因此,您將數據存儲在'.js'文件中,然後將其作爲src進行檢索?這不是一個好辦法。本質上你應該有一個前端和後端,並使用正常的發送和接收之間傳遞數據,或者創建一個後端api,並在前端使用ajax交換數據。 – Stevo 2013-03-08 08:40:21

回答

0

您需要爲此使用ajax。例如用ajax()並傳遞給data參數。然後,您需要在PHP腳本中處理該腳本,在該腳本中,您必須閱讀$ _POST(在下面的情況下)根據需要解析它,保存到文件和回顯響應中。

JavaScript代碼:

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" } 
}).done(function(msg) { 
    alert("Data Saved: " + msg); 
}); 
+0

這似乎只是將對象的文字傳遞給我將創建的PHP函數。用戶將能夠刪除整個「Ron」或「Scott」陣列等等。是否有可能發送超出鍵/值對之外的任何內容? – 2013-03-08 08:12:08

+0

您可以發送任何您喜歡的東西:對象,數組,字符串,整數等。它可以滿足您的要求,您將如何格式化數據以及哪種方式最有效。 – Michael 2013-03-08 08:20:12

+0

所以可以傳遞變量族譜,它將包含所有的鍵/數組等,或者我需要使用循環來傳遞所有內容? – 2013-03-08 08:27:04

相關問題