Javascript JSON.parse什么都不返回

时间:2014-08-08 01:53:04

标签: javascript php json xmlhttprequest

所以我试图用javascript解析这个json,它正确地从网页读取它,但是当它到达JSON.parse时它就会冻结。

以下是网页输出的内容:

{
Players: 18,
maxPlayers: 32,
Map: "jb_summer_redux_v3"
}

以下是完整代码:

var xhr = new XMLHttpRequest();
var url = "http://in.nickparksdev.com/info.php";
document.write("Loading....");
xhr.open("GET", url, true);
xhr.onreadystatechange = function() {
  if (xhr.readyState == 4) {
    document.write(xhr.responseText);
    var jsonResponse = JSON.parse(xhr.responseText);
    document.write("Test: " + jsonResponse.Players);
  }
}
xhr.send();

这是document.write(xhr.responseText);输出:

{"Players":19,"maxPlayers":32,"Map":"jb_summer_redux_v3"}

对此的任何帮助都会很棒:)

2 个答案:

答案 0 :(得分:2)

您的网页返回HTML而非JSON

输出:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>CSS Players</title>

</head>

<body>
{"Players":15,"maxPlayers":32,"Map":"jb_summer_redux_v3"}</body>
</html>

您只需要输出JSON而不是HTML。

答案 1 :(得分:0)

在我的测试中,JSON.parse确实从该字符串返回正确的对象。但是,您的文件是带有JSON的HTML。