function callback(data) {
    //找到保存结果信息的节点
    var resultObj = $("#tip");
    var n = eval("("+data+")");
    //填充返回的结果
    resultObj.html(n.tip);

解决方案 »

  1.   

    修改1:$.getJSON("ValidateName.action?username=" + username,callback); 
    修改2:
    function callback(data) {
        //找到保存结果信息的节点
        var resultObj = $("#tip");
        //填充返回的结果
        resultObj.html(data.tip);
    } 说明下,json对象其实就是一个有着很久历史的数据的格式(c里面就有了),.post得到的是整个的json数据,打印出来当然什么都有了。。
       可以使用$.getJSON直接获取json对象,还可以使用 jQuery JSON Plugin 把字符串转换为json直接使用。。
      

  2.   

    eval("{\"tip\":\"恭喜!nihao,这个用户名可以使用\",\"username\":\"nihao\"}").tip 
      

  3.   

    jQuery 在得到数据的时候,标明回掉数据类型为JSON实际上是jQuery已经进行了String to JSON的转化,在这样的情况下,你只需要用text.tip,就能得到你想要的.但是,你有没有想到这样的问题,如果返回值是text呢?或者没有jQuery帮你这么处理呢?所以JS的eval()函数可以这样做.var t=eval("("+text+")");然后t.tip,即可,实际上,在使用jQuery返回数据的时候,实际上,jQuery帮你做了eval的工作,
      

  4.   

    javascript里面有Json框架的.比如 mootools 里面就有Json的转换函数,它可以把对象转化成字符串,
    也可以把字符串转化成对象的.
      

  5.   

    jquery 得到的返回值就是个数据类型
    [{},{},{}]等等这样的
    你这里返回的就是只有一个元素的数据
    你可以就像操作数组一样取值的,
    这样取值:
    var dat = data[0].tip就这样就可以了
    resultObj.html(dat);