更新: @MESSIAH から、これを短くするように言われました。これがベアボーンバージョンです。
ajax 呼び出しからの応答を解析できません。ぐるぐる回り続けます。Google は基本的に、これが問題だと言っています。まあ、ajax 呼び出しで json を取り出すか、parse を呼び出すかは関係ありません。エラーが発生します。
JSON.parse() を使用せずに直接解析すると、次のUncaught TypeError: Cannot read property 'time' of undefined
ようになります。
現在、解析しようとしているため、これを取得しています。現在取得しているものは次のとおりです。わかりました。Uncaught SyntaxError: Unexpected token u
つまり、 parsedです。
これが私の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) は私に undefined を与えます。うーん?
ぐるぐる回る。
オタク
UPDATE : ここに示されていない関数で parseJson() を呼び出しています。$(document).ready(function(){ //blah blah blah}
サーブレットは application/json 形式を返します