2017-02-22 6 views
1

У меня есть файл .json хранится на моем сервере в WWW/Ajax/data.json со следующим содержанием:Добавлять в JSON файл из записи формы

data.json

{ 
    "Endorsements": [{ 
    "Name": "Bob", 
    "Date": "01/02/2017", 
    "Message": "How's it going?" 
    }, { 
    "Name": "Sally", 
    "Date": "01/01/2017", 
    "Message": "Konichiwa" 
    }, { 
    "Name": "Sue", 
    "Date": "01/10/2017", 
    "Message": "Peace be unto you" 
    }, { 
    "Name": "Roger", 
    "Date": "02/12/2017", 
    "Message": "Namaste" 
    }, { 
    "Name": "Zed", 
    "Date": "09/12/2017", 
    "Message": "sup" 
    }, { 
    "Name": "Quail", 
    "Date": "10/12/2017", 
    "Message": "Chirp" 
    }] 
} 

в data.json содержимого успешно отображается и обновляются каждые 5 секунд на моей messages.php страницы через функцию AJAX в messages.js.

messages.php У меня есть <form>, где пользователи могут оставлять новые сообщения. Типизированные записи в Имени, Даты и сообщения полей сохраняются в LocalStorage через функцию в messages.js.

Как я могу получить данные localStorage и использовать его для добавления новой записи сообщения в файл data.json?

+0

readen этот протокол HTTPS: //www.w3schools.com/html/html5_webstorage.asp –

+0

Я уже знаю, как хранить и выводить данные в/из LocalStorage на HTML/PHP страниц. Получение данных в файле .json - это другой зверь. – velkoon

ответ

0

Я надеюсь, что этот код может помочь вам, его просто функция, используемая для добавления объекта к существующей переменной json.

var json = JSON.stringify({ 
 
    "Endorsements": [{ 
 
    "Name": "Bob", 
 
    "Date": "01/02/2017", 
 
    "Message": "How's it going?" 
 
    }, { 
 
    "Name": "Sally", 
 
    "Date": "01/01/2017", 
 
    "Message": "Konichiwa" 
 
    }, { 
 
    "Name": "Sue", 
 
    "Date": "01/10/2017", 
 
    "Message": "Peace be unto you" 
 
    }, { 
 
    "Name": "Roger", 
 
    "Date": "02/12/2017", 
 
    "Message": "Namaste" 
 
    }, { 
 
    "Name": "Zed", 
 
    "Date": "09/12/2017", 
 
    "Message": "sup" 
 
    }, { 
 
    "Name": "Quail", 
 
    "Date": "10/12/2017", 
 
    "Message": "Chirp" 
 
    }] 
 
}); 
 

 
localStorage.setItem("newObject", JSON.stringify({ 
 
\t "Name": "test", 
 
    "Date": "01/02/2017", 
 
    "Message": "This is a test" 
 
})); 
 

 
function addToJsonFile(){ 
 
\t if(localStorage.getItem("newObject") !== undefined && localStorage.getItem("newObject") !== ""){ 
 
    \t var jsonObjects = JSON.parse(json); 
 
    jsonObjects.Endorsements[jsonObjects.Endorsements.length] = JSON.parse(localStorage.getItem("newObject")); 
 
    json = JSON.stringify(jsonObjects) 
 
    } 
 
}

+0

Удивительный, спасибо. Все равно пришлось пройти через некоторые странные лазейки, но не смог бы сделать это без этой отправной точки. – velkoon

Смежные вопросы