[英]How to print JSON response in javascript
我能够以JSON字符串的形式发出Ajax请求并获得响应,但是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正在显示
这是我的代码,用于获取响应和打印。
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...');
}
}
每次成功,但我都会得到输出
您需要将响应视为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...');
}
}
如果需要在调试代码时看到该值,则应使用console.log(AJAX)
检查该值。
如果您确实需要向用户显示一些消息,请重新考虑显示未格式化/过滤的json结果-表示您可以遍历所有对象的属性,并在字符串中合并theese(例如@Hiral显示)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.