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,今天终于把它搞成功了,在这里记录一下。

  • 相关阅读:
    Oracle SQL部分练习题
    Oracle 数据库和监听器开机自启动两种实现方法
    用Python连接SQLServer抓取分析数据、监控 (pymssql)
    Linux6.5 安装Python3.X(转载)
    SQLServer xp_instance_regread returned error 5,Access is denied(配置最小权限)
    [MySQL]存储过程
    [MySQL]触发器
    Linux 修改IP地址
    MySQL: InnoDB存储引擎
    mysql 重新添加主节点 (GTID)
  • 原文地址:https://www.cnblogs.com/andyfengzp/p/6184752.html
Copyright © 2011-2022 走看看