javascript json从URL解析

时间:2016-04-01 12:23:06

标签: javascript json

更新:

我试图解析来自网址的回复,但不知道我是否正确地做了。

该网址返回以下JSON:

{"make":"truck","date":"23 July 2009","colour":"pink"};

如果我替换var newtext = xhttp.responseText;与

var newtext =' {" make":" truck"," date":" 2009年7月23日",& #34;颜色":"粉色"}&#39 ;;

它可以工作但是一旦我回到xhttp.responseText,它就会显示一个空白页面。

我使用的代码是:

<!DOCTYPE html>
<html>

<body>
  <p id="demo"></p>
  <script>
  xhttp.open("GET", "https://url.com", false);
  xhttp.send();

  var newtext = xhttp.responseText;

  var obj = JSON.parse(newtext);

  document.getElementById("demo").innerHTML =
    obj.make + "<br>" +
    obj.colour + "<br>" +
    obj.date;
  </script>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

您还没有定义变量xhttp,但是您正试图在其上调用函数。这导致Uncaught ReferenceError错误并导致其余代码无法运行。要在您尝试执行时创建XMLHttpRequest对象,请将其放在脚本的顶部。

var xhttp;
if (window.XMLHttpRequest) {
    xhttp = new XMLHttpRequest();
} else {
    // code for IE6, IE5
    xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

// the object actually exists here now so the functions can be called on it
xhttp.open("GET", "https://url.com", false);
xhttp.send();
...

然后,您可以继续使用其余代码,确保您的xhttp对象已初始化。

我通常不建议使用w3schools,但上述代码是从http://www.w3schools.com/ajax/ajax_xmlhttprequest_create.asp复制的