[英]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.