zoukankan      html  css  js  c++  java
  • 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;
    	}
    	
    

      

  • 相关阅读:
    6. Flask请求和响应
    5. Flask模板
    FW:Software Testing
    What is the difference between modified duration, effective duration and duration?
    How to push master to QA branch in GIT
    FTPS Firewall
    Query performance optimization of Vertica
    (Forward)5 Public Speaking Tips That'll Prepare You for Any Interview
    (转)The remote certificate is invalid according to the validation procedure
    Change
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/11107643.html
Copyright © 2011-2022 走看看