Я использую AJAX POST для отправки объекта JSON со стороны клиента на моем сервере. Однако я немного смущен тем, как получить доступ к объекту, когда он туда доберется.Как получить доступ к элементу этого объекта JSON, созданного JSON.parse?
Вот мой пост со стороны клиента:
var data = JSON.stringify({
'app': 'reviews',
'name': '',
'review': '',
'response': '',
'rating': rating,
'url': url,
'date': date
});
console.log(data);
$.ajax({
type: "POST",
url: "https://stormy-plateau-94715.herokuapp.com/",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
alert(data['success']);
},
failure: function(errMsg) {
alert(errMsg);
}
});
Это работает просто отлично. На моем сервере я печатаю тело запроса и выглядит отлично:
"{\"app\":\"reviews\",\"name\":\"\",\"review\":\"\",\"response\":\"\",\"rating\":4.5,\"url\":\"test.com\",\"date\":\"7/5/2016\"}"
Тогда я называю JSON.parse на нем, и все еще работает, как я ожидал, и вот результат:
{ "приложение": "отзывы", "имя": "", "обзор": "", "ответ": "", "рейтинг": 4,5, "URL": "test.com", "дата":» 7/5/2016 "}
Это сохраняется в переменной, называемой post. Однако, когда я пытаюсь получить доступ к post.app или post ['app'], я получаю неопределенное. Кто-нибудь может сообщить мне, где я ошибаюсь?
Используйте '$ _POST [ 'приложение'] 'на стороне сервера – Poonam
почему вы используете' JSON.stringify' дважды? – Poonam
Poonam и FDavidov были правы, я дважды использовал строку. Я использовал console.log (post) для печати переменной post. – user1023465