如何在javascript中打印JSON响应

如何在javascript中打印JSON响应,javascript,ajax,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.onready

我能够发出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();
};
每一次都是成功的,但我得到的输出是
您需要将响应视为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...');
    }
}
函数处理程序(){
if(AJAX.readyState==4&&AJAX.status==200){
var json=json.parse(AJAX.responseText),len=json.length,i=0,txt=“”;
对于(;i
如果在调试代码时需要查看值,则应使用
console.log(AJAX)
检查值


如果您真的需要向用户显示一些消息,那么请重新考虑显示未格式化/过滤的json结果——也就是说,您可以迭代所有对象属性并将其包含在字符串中(如@Hiral shows)。

do
var res=json.parse(AJAX.responseText);alert(res.name)
…它将向Dehradun发出警报我也试过了,结果还是一样,它是一个数组。您需要res[0]。但是,如果将问题标记为jQuery,为什么不使用jQuery呢?执行类似于
res[0].name的操作。。其中
res[0]
是在
JSON.parse(AJAX.responseText)
之后得到的数组中的第一个对象。它的工作原理是如何为(;i-在异步处理中也使用控制台而不是警报
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...');
    }
}