簡體   English   中英

如何在JavaScript中打印JSON響應

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM