alert(json);
alert(json.pinlun);
打印json显示{mingzi:"hh",pinlun:"评论"},但是打印json.pinlun却说未定义,请问是什么原因呢下面是调用的方法$("#Button1").click(function(){
$.get("Default3.aspx",function(json){
alert(json);
alert(json.pinlun);
var a = json.mingzi;
var b = json.pinlun;
$(".aa").eq(0).text(a);
$(".bb").eq(0).val(b);
},'json'); })
alert(json.pinlun);
打印json显示{mingzi:"hh",pinlun:"评论"},但是打印json.pinlun却说未定义,请问是什么原因呢下面是调用的方法$("#Button1").click(function(){
$.get("Default3.aspx",function(json){
alert(json);
alert(json.pinlun);
var a = json.mingzi;
var b = json.pinlun;
$(".aa").eq(0).text(a);
$(".bb").eq(0).val(b);
},'json'); })
不然你看到的就可能是 [object Object] 这样的东西了既然是字符串,所以json.pinlun当然就不存在了
$.get("Default3.aspx",function(json){
json = eval(json)
alert(json);
alert(json.pinlun);
var a = json.mingzi;
var b = json.pinlun;
$(".aa").eq(0).text(a);
$(".bb").eq(0).val(b);
},'json'); })
----
如果是 alert(json) ,后,显示的就是这段字符串的话,说明你的json此时仅仅是一个字符串而已。
而不是一个json对象。
你可以这样做
json = eval('('+json+')');
即先把字符串转换成object
$("#Button1").click(function(){
$.get("Default3.aspx",function(json){
json = eval(json)
alert(json);
alert(json.pinlun);
var a = json.mingzi;
var b = json.pinlun;
$(".aa").eq(0).text(a);
$(".bb").eq(0).val(b);
},'json'); })
你可以用$.each(json, function(k,v){
alert(k+ ":" + v);
});
这样弹出来看看是不是正常的。
$.get(fn, "json");是可以的,相对于$.getJson()
一般是通过服务器端传回一段json的字符串,然后eval转成js的对象。