我正在使用 AJAX POST 从服务器客户端发送 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,一切仍然按我的预期工作,结果如下:
{"app":"评论","名称":"","评论":"","响应":"","评级":4.5,"url":"test.com","日期":"7/5/2016"}
这被保存在一个名为 post 的变量中。但是,当我尝试访问 post.app 或 post['app'] 时,我得到一个未定义的信息。谁能告诉我哪里出错了?
最佳答案
当我错误地在已经是字符串的对象上使用 JSON.stringify
时,也发生了同样的问题,看起来正是您正在做的事情。
关于javascript - 如何访问 JSON.parse 创建的 JSON 对象的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38196191/