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

      

  • 相关阅读:
    nginx win10 配置启动bat脚本
    linux ctrl + s 导致锁死 解决
    linux 执行shell 不小心导致无限死循环解决
    linux vim 意外退出导致下次vim进入报错提示恢复
    vue 自定义组件使用vmodel属性的具体说明,重点说明参数的定义
    echarts 官网首页能进去,但是演示和文档地址进不去的 win10解决办法
    mysql 报错 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled
    elementui h5 引入elementui 报错提示没有字体
    .net 中文传参
    ASP.NET, IE6下URL中文乱码问题 ASP.NET程序,当URL后缀包含奇数个中文字符
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/11107643.html
Copyright © 2020-2023  润新知