首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

在客户端如何就是取不到JSON串?死了,都一天了差不多

2012-04-20 
在客户端怎么就是取不到JSON串?急死了,都一天了差不多不多说了 直接上吧action类为package org.tts4.taren

在客户端怎么就是取不到JSON串?急死了,都一天了差不多

不多说了 直接上吧

action类为package org.tts4.tarena.action.score;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.struts2.json.annotations.JSON;
import org.tts4.tarena.action.ExamAction;
import org.tts4.tarena.domain.Exam;
import org.tts4.tarena.domain.ExamPaper;
import org.tts4.tarena.domain.ExamResultProxy;
import org.tts4.tarena.exception.ExamException;
import org.tts4.tarena.service.ExamPaperService;
import org.tts4.tarena.service.ExamResultProxyService;
import org.tts4.tarena.service.ExamService;
import org.tts4.tarena.utils.PageUtil;

public class AjaxGScoreAction extends ExamAction{

private static final long serialVersionUID = 1L;

//页面发送来的参数
private String choicePaperName; //需要传回给页面
private String projectPaper; //需要传回给页面
private int page; //需要传回给页面
private Integer mainclassid;  

  //需要的服务
private ExamPaperService examPaperService; //查找Id
private ExamService examService; //依据ID examtypeId MAINCLASSID找到exam
private ExamResultProxyService examResultProxyService; //依据examId找出同步的班级的成绩

//传回给页面的参数
private List<ExamResultProxy> examResultScores;
private List<ExamResultProxy> subExamResultScores;
private String msg="aa";
private int recordSize;
@SuppressWarnings("unchecked")
@Override
public String execute() {
  ...//调用一下方法为了简洁不多写了
  }


public String getChoicePaperName() {
return choicePaperName;
}
public void setChoicePaperName(String choicePaperName) {
this.choicePaperName = choicePaperName;
}

public String getProjectPaper() {
return projectPaper;
}
public void setProjectPaper(String projectPaper) {
this.projectPaper = projectPaper;
}

public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}

@JSON(serialize=false)
public Integer getMainclassid() {
return mainclassid;
}
public void setMainclassid(Integer mainclassid) {
this.mainclassid = mainclassid;
}

@JSON(serialize=false)
public ExamPaperService getExamPaperService() {
return examPaperService;
}
public void setExamPaperService(ExamPaperService examPaperService) {
this.examPaperService = examPaperService;
}

@JSON(serialize=false)
public ExamService getExamService() {
return examService;
}
public void setExamService(ExamService examService) {
this.examService = examService;
}

@JSON(serialize=false)
public ExamResultProxyService getExamResultProxyService() {
return examResultProxyService;
}
public void setExamResultProxyService(
ExamResultProxyService examResultProxyService) {
this.examResultProxyService = examResultProxyService;
}

@JSON(serialize=false)
public List<ExamResultProxy> getExamResultScores() {
return examResultScores;
}
public void setExamResultScores(List<ExamResultProxy> examResultScores) {
this.examResultScores = examResultScores;
}


public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}
@JSON(serialize=false)
public int getRecordSize() {
return recordSize;
}
public void setRecordSize(int recordSize) {
this.recordSize = recordSize;
}
public List<ExamResultProxy> getSubExamResultScores() {
return subExamResultScores;
}
public void setSubExamResultScores(List<ExamResultProxy> subExamResultScores) {


this.subExamResultScores = subExamResultScores;
}

}

struts2的配置为:
  <action name="ajaxGscore" class="ajaxGscore">
  <result name="success" type="json">
  </result>
  继承了 json-default

客户端为:
  $(function(){
  $("#form1").submit(function(){
  var mainclassid = $("#examClassS").val();
  var projectPaperName=$("#projectPaperName").val();
  var choicePaperName=$("#choicePaperName").val();
  if(mainclassid==-1){
  $("#resultInfo").html("<span style='color:red'>&nbsp;&nbsp;&nbsp;请选择班级</span>"); return false;
  }
  $("#resultInfo").html("<span style='color:green'>&nbsp;&nbsp;&nbsp;正在查询请稍后...</span>");
  $.ajax({
  url:"ajaxGscore.action?dt="+new Date().getTime(),
  type:"POST",
  dataType:"json",
  data:{"mainclassid":$("#examClassS").val(), 
  "projectPaper":$("#projectPaperName").val(),
  "choicePaperName":$("#choicePaperName").val(),
  "page":1
  },
  success:function(data){
  alert(1);
  }
  });
  
  });
   
  })
  success就是没有执行alert(1);什么情况啊  
   
  还有在客户端发数据怎么在服务器端进入调试模式,我想看看JSON串是不是真的生成了,但是不知道怎么进入,那位大侠介绍下

[解决办法]

url:"ajaxGscore.action?dt="+new Date().getTime()
那程序能够走到ajaxGscore.action中去吗?

设置断点进行debug一下看看。。。


[解决办法]
success应该是都会执行的,是不是你的json 的js文件没有引入正确或者不全啊。。。
[解决办法]
页面端先用firebug进行断点试试,看是不是页面的问题。
服务器端进入debug模式试试...
[解决办法]
<result type="json">
<param name="includeProperties">objectMap.*</param>
</result>

你要指定把什么东西的内容转成json串
objectMap要你自己换成你Action值站中存储未转换成json的集合

热点排行