在客户端怎么就是取不到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'> 请选择班级</span>"); return false;
}
$("#resultInfo").html("<span style='color:green'> 正在查询请稍后...</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的集合