54-jquery发送请求 json 转化等

直接记录代码吧。

几个注意点:

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;
	}
	

  

猜你喜欢

转载自www.cnblogs.com/zhumengdexiaobai/p/11107643.html
今日推荐