zoukankan      html  css  js  c++  java
  • SpringMvc+ajax 实现json格式数据传递

    传JSON对象

    前端

    function test () {
        var param = {username : "yitop"};
    
        $.ajax({
            timeout : 20000,
            type : "POST",
            dataType : "JSON",
            url : "/user/userRole.htm",
            data : param,
            success : function(data){
                alert(data);
            }
            //注意:这里不能加下面这行,否则数据会传不到后台
            //contentType:'application/json;charset=UTF-8',
        });
    }
    

    后端

    Controller:

    @RequestMapping(value = "userRole", method = RequestMethod.POST)
    @ResponseBody
    public List<Role> selectRoles(String username) throws WebTransException {
        
        /* 逻辑代码 */
    
    }
    

    传JSON字符串+@RequestBody接收

    前端

    function icheckDelete(url){
    	var parms = {
    	    list : array //这是个数组
    	};
    
        $.ajax({
            dataType: "JSON",
            contentType:'application/json;charset=UTF-8',//关键是要加上这行
            traditional:true,//这使json格式的字符不会被转码
            data: JSON.stringify(parms),
            type: "DELETE", 
            timeout: 20000,
            url: url,
            success : function () {
                alert("删除成功!");
            },
            error : function (data){
                alert(data.responseText);
            }
        });
        
    }
    

    后端

    Controller:

    @RequestMapping(value = "deleteList", method = RequestMethod.DELETE)
    @ResponseBody
    public String delete(@RequestBody DeleteListRequest request) throws WebTransException{
    
        /* 逻辑代码 */
    
        return "success";
    }
    

    DeleteListRequest:

    /**
     * @author fengzp
     * @date 16/12/15下午6:08
     * @email fengzp@gzyitop.com
     * @company 广州易站通计算机科技有限公司
     */
    public class DeleteListRequest {
        List<Map<String, String>> list = new ArrayList<>();
        public DeleteListRequest() {
        }
        public List<Map<String, String>> getList() {
            return list;
        }
        public void setList(List<Map<String, String>> list) {
            this.list = list;
        }
    }
    

    之前使用@RequestBody接收json数据总是报400或者415,今天终于把它搞成功了,在这里记录一下。

  • 相关阅读:
    [linux] SIGPIPE信号处理
    巧妙使用spring对commons fileUpload的包装
    对commons fileupload组件的简单封装
    利用脚本启动java程序
    [linux] 创建daemon进程
    利用Jakarta commons fileupload组件实现多文件上传
    dedeCms下面 arclist标签无法嵌套图片(img)之解决办法
    编程乱码问题初步探索
    PHP下载文件函数
    Windows7下IIS中以FastCgi安装PHP
  • 原文地址:https://www.cnblogs.com/andyfengzp/p/6184752.html
Copyright © 2011-2022 走看看