我正在使用AJAX POST從客戶端發送JSON對象我的服務器。但是,對於如何訪問一旦達到目標的對象,我有點困惑。如何訪問由JSON.parse創建的此JSON對象的元素?
下面是從客戶端我的帖子:
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 [ '應用']爲什麼你使用'JSON.stringify'兩次'服務器端 – Poonam
? – Poonam
Poonam和FDavidov是對的,我使用了兩次stringify。我用console.log(post)打印post變量。 – user1023465