我有一个java脚本的问题。这是我第一次使用JavaScript。
代码:
$.get(url, function(data){
alert("Data Loaded: " + data);
var obj = JSON.parse(data);
alert(obj.result);
}
服务器返回一个简单的JSON字符串{"result":"aaaa"}
我怎样才能提取响应这个JSON字符串? 当我运行此代码警报显示未定义。
我有一个java脚本的问题。这是我第一次使用JavaScript。
代码:
$.get(url, function(data){
alert("Data Loaded: " + data);
var obj = JSON.parse(data);
alert(obj.result);
}
服务器返回一个简单的JSON字符串{"result":"aaaa"}
我怎样才能提取响应这个JSON字符串? 当我运行此代码警报显示未定义。
这个问题似乎不可重现。
JSON.parse('{"result":"aaaa"}').result
产生“aaaa
”。
做一些更多的调试是这样的:
$.get(url, function(data){
alert("Data Loaded: " + data);
var obj = JSON.parse(data);
for (key in obj) {
alert(key + ": " + obj[key]);
}
}
这将遍历在返回的JSON所有的按键。希望你在那里有一个名为“result”的键。
这可能是你实际上不需要解析它。
$.get(url, function(data){
alert(typeof data); // object
alert(data.result); // aaaaa
});
没有一个dataType
被指定,jQuery.get()
将默认做出一项“智能猜”和相应的解析。
如果你想自己解析它,你可以指定'text'
作为dataType
。
$.get(url, function(data){
var obj = JSON.parse(data);
alert(obj.result); // aaaaa
}, 'text');
只需调用'obj.result'。 –
马上就有一个'{'错配。另外顺便问题是什么?你能解释一下吗? – PSL
您不需要用'{'开始每一行。这会导致语法错误,从而阻止您的代码执行*任何操作*。在你解决这个问题之前,在处理其他任何问题时没有多大用处。我建议你在JavaScript上找到一个体面的教程,并且在尝试使用jQuery和/或AJAX之前,至少要掌握基本语法。 – meagar