JSON.parse(hr.response)错误

时间:2014-10-30 12:42:52

标签: javascript jquery json

我正在尝试从JSON中检索数据。我写了这段代码。它警告" 1"但没有提醒" 2"。

<script type="text/javascript" src="jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript">
    function ajax_get() {
        var results = document.getElementByI("results");
        var hr = new XMLHttpRequest();
        hr.open("GET", "mylist.json", true);
        hr.responseType = "JSON";
        hr.setRequestHeader("Content-type", "application/json",true);
        hr.onreadystatechange = function() {
            if (hr.readyState == 4 && hr.status == 200) {
                alert('1');
                var data = JSON.parse(hr.response);
                alert('2');
                alert(data);
                results.innerHTML = data.name;
            }
        }
        hr.send(null);
        results.innerHTML = "request ...";
    }
</script>
</head>
<body>
    <div id="results"></div>
    <script type="text/javascript">ajax_get();</script>
</body>

1 个答案:

答案 0 :(得分:3)

您已在此行上将响应类型设置为json。

hr.responseType= "JSON";

因此您无需再次解析响应。它将默认为json。 确保您的响应采用json格式并更改您的代码。

 var data  = hr.response;