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

      

  • 相关阅读:
    题解「CF204E Little Elephant and Strings」
    题解「CF1000G Two-Paths」
    消息机制及按钮实效性
    View(视图)——消息机制
    城市线程练习题后续
    城市线程练习题
    View(视图)——对话框之日期对话框和时间对话框文集
    View(视图)——对话框之进度对话框
    删除对话框练习
    拨打电话与发送短信功能
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/11107643.html
Copyright © 2020-2023  润新知