更新:@MESSIAH 告诉我缩短这个。这是裸骨版本。
我无法解析来自 ajax 调用的响应。我一直在兜圈子。谷歌基本上是在告诉我这就是问题所在。好吧,不管我是在ajax调用中取出json还是调用parse。它会给我错误。
如果不使用 JSON.parse() 直接解析,我得到: 第一个是:Uncaught TypeError: Cannot read property 'time' of undefined
好的,这意味着它没有被解析。
目前,我得到这个是因为我正在尝试解析:我现在得到的是:Uncaught SyntaxError: Unexpected token u
好的,这意味着它已解析。
这是我的ajax调用:
var reply;
function sendRouteRequest()
{
$.ajax({
type: 'GET',
//contentType: "application/json; charset=utf-8",
url: '/api/getReply',
data: data,
dataType: 'json',
success: function(result)
{
reply = result;
console.log(reply);
console.log(reply.time);
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("Error: " + textStatus + " exception: " + errorThrown);
}
});//End of ajax
}
以下是相关代码:
function parseJson()
{
//data = JSON.stringify(reply);
jsonData = JSON.parse(reply);
console.log(jsonData.time);
}
这是控制台中回复的样子。
Object
alert: Object
points: Array[30]
points: Array[30]
time: 4.72
__proto__: Object
status: Object
__proto__: Object
但是 console.log(reply.time) 给了我未定义的。呜?
兜兜转转。
极客
更新:我在这里未显示的函数中调用 parseJson(),$(document).ready(function(){ //blah blah blah}
Servlet 返回 application/json 格式