javascript - JSON.parse(hr.response) 错误

标签 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>

最佳答案

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

hr.responseType= "JSON";

所以你不需要再次解析响应。默认情况下它是 json。 确保您的响应采用 json 格式,并像这样更改您的代码。

 var data  = hr.response;

关于javascript - JSON.parse(hr.response) 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26653308/

相关文章:

javascript - 打印外部页面而不打开它

javascript - 内容垂直居中的两栏页面和一栏中的图像幻灯片

javascript - 为什么 jquery.serialize 将 LF 更改为 CRLF?

javascript - jQuery 表格图像

javascript - 如何继续将数据添加到下一个表列

java - 一个模型有多个自定义 DTO

javascript - AngularJs 的错误 block 没有被执行

java.lang.ClassCastException : java. lang.String 无法转换为 java.util.Map

javascript - 如何支持由 docusaurus 维护的旧版本文档的更改

javascript - 检查由 JSON 绑定(bind)的 knockout.js 中的多个复选框