action需要return  json数据的 这样前台才能得到数据呀  ajax中加上 如果失败的话看看调试的结果是什么样子的 

解决方案 »

  1.   

    是根据配置中的result来传递的啊,刚试了public JSONObject testJson(){
    JSONObject json = new JSONObject();
    json.put("id", "123");
    json.put("name", "baidu bae");
    result = json;
    System.out.println("test json & json : "+result);
    return result;
    }
    结果是foot一直显示loading...
      

  2.   

    很明显是因为返回出问题,你就直接使用response.getWriter().print(json.toString());return none;
    struts的xml都不用配置了,然后页面直接获取这个字符再eval成json对象
    具体可以参考我的博客的那个开源项目,也是使用很多ajax请求
    http://blog.csdn.net/shadowsick
      

  3.   

    那我这个通过配置传值哪里错了很有可能是内部转换json的失败,因为他不单是返回你的result为json对象,而且可能把你的xxxService也转换,可能这个时候遇到转换不到的对象会抛异常中断导致无返回,所以ajax也一直没接受到返回值会处于未完成状态
      

  4.   

    那我这个通过配置传值哪里错了很有可能是内部转换json的失败,因为他不单是返回你的result为json对象,而且可能把你的xxxService也转换,可能这个时候遇到转换不到的对象会抛异常中断导致无返回,所以ajax也一直没接受到返回值会处于未完成状态
    HttpServletResponse response.没有getWriter()方法
      

  5.   

    我来了  你封装一下ajax成功返回的串,因为ajax提交的时候 成功和失败返回的是对应success和failed
    form提交时返回的时候都是success   ,封装的串为{success:true,__msg:'"+__msg+"',__msgcode:'"+__msgcode+"'}  你可以试试看
      

  6.   

    补充一下  你可以打印一下failed返回的数据 看看返回的是什么
      

  7.   

    没懂你意思
    ajax返回到jsp页面,先是loading...然后是result:
    beforeSend : function(XMLHttpRequest) {
    $('#foot').text("loading...");
    },
    success : function(result) {
    alert("result: "+result)
    $('#foot').text("result: "+result);
    },
    error : function(xhr, msg, e) {
    alert("读取数据失败o(╯□╰)o")
    }
    是添加error么,不会执行这个