jQuery,ajax'map传值'与后端'接收map'应用实例(SSM框架)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/peng_666666/article/details/78298342

1.

向后端传递单个数据,从后端返回Integer类型数据

/**
 * 前端ajax代码部分
 */

var map = '{"account":"' + account + '"}';
//设定一个事件触发ajax
$.ajax({
    type : 'POST',
    contentType : 'application/json;charset=utf-8',
    url : "/",
    processData : false,
    dataType : 'json',
    data : map,
    success : function(data) {
        if(data == 1) {
            $("#text").html('<font color="#000000">aaa</font>');
        } else if(data == 0) {
            $("#text").html('<font color="#000000">aaa</font>');
        } else {
            $("#text").html('<font color="#000000">aaa</font>');
        }
    },
    error : function() {
        $("#text").html('<font color="#000000">aaa</font>');
    }
});
/**
 * 后端controller代码部分
 */

@RequestMapping("/")
public @ResponseBody Integer ajaxDemo(@RequestBody Map map) {
    try {
        //接收前端传递的map
        String str = (String) map.get("account");
        //假设做了一系列操作,判断是否return 0
        if() return 0;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return 1;
}

ps.
1. @RequestMapping(“/”) 要与 ajax的url : “/” 相同,才能数据传递
2. java代码return后,前端的’data‘能接收到后端传来的值,再进行后面操作.
3. 注意,若是没有数据返回,则会执行function(){}操作


2.

向后端传递多个数据,从后端返回数组

/**
 * 前端ajax代码部分
 */

var map = '{"id":"' + $("#id").val() 
            + '","name":"' + name
            + '","price":"' + price
            + '"}';
// 设定一个事件触发ajax
$.ajax({
    type : 'POST',
    contentType : 'application/json;charset=utf-8',
    url : "/",
    processData : false,
    dataType : 'text',
    data : map,
    success : function(data) {
        var users = eval("("+data+")"); 
        var str = "";
        //用循环输出 users, i为index位置, user为每次循环的当前元素
        $.each(users, function (i, user) {  
            str += 'Account: <font size="3"><b>' + user.account + ' </b></font> '
            + ' Name: <font size="3"><b>' + user.name + '</b></font>';
            str += '<a href="/?id='+ user.account + '&name=' + user.name + '" onclick="click();">aaa</a>';
            str += '<hr align="left" width="20%">';
        }); 
        //将 str 在页面中输出
        $("#List").html(str);
    },
    error : function() {
        $("#List").html('');
    }
});
/**
 * 后端controller代码部分
 */

@RequestMapping("/")
public @ResponseBody List<User> ajaxDemo(@RequestBody Map map) {
    List<User> list = null;
    try {
        //接收前端传递的map
        String str = (String) map.get("id");
        String str = (String) map.get("name");
        String str = (String) map.get("price");
        //假设做了一系列操作
    } catch (Exception e) {
        e.printStackTrace();
    }
    return list;
}

ps.
1. @RequestMapping(“/”) 要与 ajax的url : “/” 相同,才能数据传递
2. 前端的’data’接收后端传来的值后,要先用eval(“(“+data+”)”)处理,才可以.each().
3. 本文’操作后端传来数组数据并输出显示在页面‘的方法仅供参考




希望对大家有帮助,
加油互勉 .

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页