条件是如此奇怪,我不知道我应该做什么以及我需要调试的地方。也许导致这种情况的原因不在于struts或ajax,但我无法找到我错在哪里。我想知道是否有人遇到同样的事情。任何帮助都会感谢。
我使用jquery + ajax将数据发送到struts中的操作,但它不执行action和ajax execute success函数中的所有步骤。
这是我的.js代码
var jsonString=JSON.stringify(datas);
jsonString=encodeURI(jsonString);
jsonString=encodeURI(jsonString);
$.ajax({
type:"post",
url:"headSalerScheduleSubmit.action? branch="+branch+"&week="+week+"&json="+jsonString,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success:function(){
alert("make an plan!");
}
});
这是我的struts代码。
public String execute(){
String branch=request.getParameter("branch");
String week=request.getParameter("week");
String json=request.getParameter("json");
json = URLDecoder.decode(json, "UTF-8");
System.out.println("json is "+json);
JSONArray jsonarray=JSONArray.fromObject(json);
System.out.println("jsonarray size is "+jsonarray.size());
//save Schedule
int scheduleid=scheduleDao.getNum();
System.out.println("scheduleid is "+scheduleid);
int branchid=branchDao.searchBranchByName(branch).get(0).getBranchid();
Calendar calendar=Calendar.getInstance();
int weekNum=calendar.get(Calendar.DAY_OF_WEEK);
calendar.add(Calendar.DAY_OF_MONTH, 1-weekNum);
int day=calendar.get(Calendar.DAY_OF_MONTH);
calendar.set(Calendar.DAY_OF_MONTH, day);
Date date=new Date(calendar.getTimeInMillis());
Schedule schedule=new Schedule();
schedule.setScheduleid(scheduleid);
schedule.setWeek(week);
schedule.setBranchid(branchid);
schedule.setDate(date);
scheduleDao.save(schedule);
return "success";
}
当ajax发送数据时,函数执行到此步骤只需停止int scheduleid=scheduleDao.getNum();
为什么?