直接记录代码吧。
几个注意点:
1.回调函数: function就是 success(data, textStatus, jqXHR)。这三个参数的分别意义是:服务端送回来的数据,服务端的返回码,XMLHTTPRequest的一个超集
2. 如果是数组参数:例如
d[this.name] = this.value;
传到后端想要成为json 需要转化:
data: JSON.stringify(d),
3.前端处理后端传过来的json(HashMap)需要转为json:
data =JSON.parse(data);
如果后端传过来的是一个对象,则不需要。
前端:
1 $(document).ready(function() {
2 $(".status").change(function(){
3 var id = $(this).attr("id");
4 var flag = $(this).val();
5 /* alert("这是状态修改!"); */
6 confirmx("确定要修改吗?",function(){
7 $.ajax({
8 url : "${ctx }/paper2/updateStatus2",
9 data : {"id":id,"status":flag},
10 type : "post",
11 dataType : "json",
12 cache : false,
13 error : function(XMLHttpRequest, textStatus, errorThrown) {
14 alertx("出现错误,请重试或联系管理员!" );
15 },
16 success : function(data, textStatus) {
17 //alert(data);
18 //data =JSON.parse(data);
19 if (data.code == 0){
20 alertx("修改失败!原因:" + data.info);
21 }
22 else{
23 alertx("修改成功!");
24 //看下返回的东西
25 //alertx(data);
26 //alertx(textStatus);
27 }
28 $(location).prop('href', '${ctx }/paper2/management2?pageNo='+$("#pageNo").val()+'&pageSize='+$("#pageSize").val());
29 }
30 });
31 });
32 });
33
34 });
$(function(){
$("#submit1").click(function(){
var d = {};
var t = $("form").serializeArray();
$.each(t,function(){
d[this.name] = this.value;
});
$.ajax({
type : "POST",
url : '${ctx}/paper2/addsavePaper',
/* data : d, */
data: JSON.stringify(d),
contentType : "application/json",
success : function(data){
//alert(data);
data =JSON.parse(data);
if (data.errorCode == 0) {
alert("提交成功");
msg('提交成功~');
$("#theme").data("flag","true"); //改变主题的提交状态
$("#theme").data("paperid",data.paperid); //赋值问卷Pid
}
else {
alert("提交失败:" + data.msg);
msg('提交失败:' + data.msg);
}
}
});
});
// 弹出框方法
function msg(msg) {
$('#msg').html(msg);
$('#msgModal').modal({
keyboard: false
});
};
});
后端:
/**
* 修改问卷状态
*
* 新加:验证,高级不能像低级转化
*/
@RequiresPermissions("paper:management:edit")
@RequestMapping(value = {"updateStatus2"},produces="application/json;charset=UTF-8")
@ResponseBody
public RO updateStatus2(Paper paper){
// 比较 status
String status = paperService.get(paper.getId()).getStatus();
// System.out.println("原状态:" + status);
// System.out.println("改状态:" + paper.getStatus());
if(Integer.valueOf(status) >= Integer.valueOf(paper.getStatus())) {
// System.out.println("改状态:" + paper.getStatus());
// 高级向低级或同级转化 不允许
RO ro = new RO();
ro.setCode("0");
ro.setInfo("不允许高级向低级转化");
return ro;
}
else {
return paperService.updateStatus(paper);
}
}
/**
*
* 页面添加(保存)一个新题(包括题目和选项)
* : ys
*
*/
@RequiresPermissions("paper:management:edit")
@RequestMapping(value = {"addsaveAQuestion"})
@ResponseBody
public HashMap<String, String> addsaveQuestion(@RequestBody String body) {
System.out.println("添加新的题目:");
System.out.println(body);
// 从JSON中获取question
// Question2 question = JSON.parseObject(body, Question2.class);
//
// System.out.println(question);
// JSONObject jsonobject = JSON.parseObject(body);
// System.err.println(jsonobject.getString("ismust"));
// System.err.println(jsonobject.getString("option"));
// 从JSON中获取question
JSONObject jsonObject = JSONObject.fromObject(body);
String option = jsonObject.getString("option");
String ismust = jsonObject.getString("ismust");
System.out.println("op: " + option);
System.out.println("ismust: " + ismust);
HashMap<String, String> map = new HashMap<String, String>();
map.put("errorCode", "0");
map.put("msg", "出错!");
return map;
}