struts.xml<package name="test" namespace="/main" extends="json-default">
<action name="projectList" class="com.action.main.ProjectList">
<result type="json">
<param name="root">jsonObject</param>
<param name="contentType">application/json</param>
<param name="noCache">true</param>
<param name="ignoreHierarchy">false</param>
</result>
</action>
</package>actionpublic class ProjectList extends ActionSupport { private ProjectService projectService = new ProjectService(); private JSONObject jsonObject; public ProjectService getProjectService() {
return projectService;
} public void setProjectService(ProjectService projectService) {
this.projectService = projectService;
} public JSONObject getJsonObject() {
return jsonObject;
} public void setJsonObject(JSONObject jsonObject) {
this.jsonObject = jsonObject;
} @Override
public String execute() throws Exception {
List<Project> list = projectService.getAllProject(2);
JSONArray jsonList = new JSONArray();
for (Project p : list) {
JSONObject jo = new JSONObject();
jo.put("id", p.getId());
jo.put("name", p.getName());
jo.put("contractNo", p.getContractNo());
jo.put("levelStr", p.getLevelStr());
jo.put("typeStr", p.getTypeStr());
jo.put("statusStr", p.getStatusStr());
jo.put("organizationStr", p.getOrganizationStr());
jo.put("managerStr", p.getManagerStr());
jsonList.add(jo);
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("rows", jsonList);
map.put("total", list.size());
jsonObject = JSONObject.fromObject(map);
if (jsonObject != null) {
System.out.println(jsonObject);
System.out.println("success");
return SUCCESS;
} else {
return INPUT;
}
}
}
JSP
$.ajax({
url :'main/projectList.do', //后台处理程序
type:'post', //数据发送方式
dataType:'json', //接受数据格式
cache:false,
complete:test, 
success:update_page  //回传函数(这里是函数名)
});
 
function update_page (data) { //回传函数实体,参数为XMLhttpRequest.responseText
data=eval('('+data+')');  
alert(data);
document.write(data);
};结果:undefined undefined用IE9的网络 捕获查看 响应正文里有json数据,但是回调的data却是null。

解决方案 »

  1.   

    再补充一点,google和Firefox都能显示,唯独IE不行。
    请教高手帮忙看看,这是什么问题?
      

  2.   

    你这样写下配置文件看看:
    struts 配置文件里面这样写:
        
    <result name="relist" type="json">
    <param   name="includeProperties">result,reFileList,reFolderList</param>
    </result>  struts配置文件里面这样写: /**
     * 获取回收站文件列表
     *  返回json串
     */
    public String recycleList() {
    try {
    //logger.info("recycleList action--------------------------------");
    reFileList = fileService.getRecycleFile();
    reFolderList = fileService.getRecycleFolder();
    //logger.info("reFileList:" + reFileList);
    //logger.info("reFolderList:" + reFolderList);
    result = true;
    //logger.info("recycleList action:  success");
    return "relist";
    } catch (Exception e) {
    e.printStackTrace();
    result = false;
    message = "获取回收站失败";
    //logger.info("recycleList action:  exception");
    return "relist";
    }
    }
     我们也是用的spring+struts+jquery  我们的数据都是能获取到得 你试下看看
      

  3.   


    HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/json; charset=UTF-8");
            try {
                PrintWriter out = response.getWriter();
                JSONObject json = new JSONObject();            readApprovePersonList();
                String uid = "";
                String uName = "";            if (this.lst_person.size() > 0) {
                    for (Object obj : this.lst_person) {
                        HashMap map = (HashMap) obj;
                        uid += map.get("user_id").toString() + ",";
                        uName += map.get("user_Name").toString() + ",";
                    }
                    json.put("Val", uid);
                    json.put("Title", uName);
                } else {
                    json.put("Val", uid);
                    json.put("Title", uName);
                    json.put("msg", qryDept + "部门没有人有此权限!");
                }
                out.print(json.toString());
            } catch (Exception e) {
                e.printStackTrace();
            }
    out.print(json.toString());我主要这样刷出的喔这样好吗!?我也好想好像楼主那样写但总是得不到数据喔!!!
      

  4.   

    这有用到Struts2,所以没有用了