javascript - 如何在 JavaScript 中打印 JSON 响应

标签 javascript ajax

我能够发出 Ajax 请求并以 JSON 字符串的形式获取响应,但 JavaScript 的警报框仍然没有显示实际的响应文本。 我是 ajax 概念的新手,了解不多。

Ajax 调用:-

Action triggered on dropdown
<select name="state" onchange="getOptions(this.value)">

Javascript Function called :-
function getOptions(state){
  AJAX.onreadystatechange = handler;
  AJAX.open("GET", "getData?id="+state);
  AJAX.send();
};

正在显示响应 Firebug

Response Content

这是我获取响应和打印的代码。

function handler() {
  if(AJAX.readyState == 4 && AJAX.status == 200) {
    var json = eval('(' + AJAX.responseText +')');
    alert('Success. Result:' + json);
  }
  else if (AJAX.readyState == 4 && AJAX.status != 200) {
      alert('Something went wrong...');
  }
}

每次都成功,但我得到的输出为 enter image description here

最佳答案

您需要将您的响应视为 JSON 而不是文本。

试试这个:

function handler() {
    if (AJAX.readyState == 4 && AJAX.status == 200) {
        var json = JSON.parse(AJAX.responseText), len = json.length, i = 0, txt = "";
        for (; i < len; i++) {
            if (txt) {
                txt += ", ";
            }
            txt += json[i].name;
        }
        alert('Success. Result:' + txt);
    } else if (AJAX.readyState == 4 && AJAX.status != 200) {
        alert('Something went wrong...');
    }
}

关于javascript - 如何在 JavaScript 中打印 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28601023/

相关文章:

javascript - 当我通过 AJAX 管理我的网站时如何更新我的 URL?

javascript - 动态选择列表 AJAX 并通过发布表单插入数据库表

javascript - 不同部分的相同功能 - jquery 中的相对引用

javascript - 下载图像图标并共享图标

javascript - 当元素滚动到网页上时执行计数器脚本

javascript - 如何在javascript中用空行分割字符串

javascript - ReactJS 使用内容脚本而不弹出(Chrome 扩展)

ajax - 为什么非自定义 header 包含在 Access-Control-Request-Headers 中?

C# MVC4 Jquery Ajax 发布部分 View 更新

javascript - 仅当来自 ajax 调用的数据已更改时才更新内容