我正在使用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