加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax与springmvc传参方式总结

发布时间:2020-12-16 03:23:34 所属栏目:百科 来源:网络整理
导读:在使用ajax与springmvc进行传参的过程中发现如下特点,特总结如下: 1、传简单的一个或两个参数 $.ajax({ type:'post', url:"/del", data:{ id :stuId}, success:function(data){ if(data=="success"){ infoTip("删除成功",2000); } } }); ①后台用变量接收

在使用ajax与springmvc进行传参的过程中发现如下特点,特总结如下:

1、传简单的一个或两个参数

$.ajax({

type:'post',

url:"/del",

data:{id:stuId},

success:function(data){

if(data=="success"){

infoTip("删除成功",2000);

}

}

});

①后台用变量接收

@RequestMapping(value="del")

@ResponseBody

public String del(String id){

return service.del(id);

}

service.del(id)返回的是字符串类型的,因为ajax中没有加参数dataType:'json',所以前台接收的是字符串success

注:data中的id与后台接收的参数的名称必须一致。

②后台用对象接收’

@RequestMapping(value="del")

@ResponseBody

public String del(Student student){

return service.del(student);

}

注:data中的id与后台接收的对象中的属相名称必须一致。

2、传递数组:一个或多个,有下面两种方式。若传递的是数组对象,需要用第二种方式,否则失败。

①前台

$.ajax({

type:'post',

data:{"newArray":newArray,

"delArray":delArray

},

traditional:true,//这个是最重要的

success:function(data){

if(data=="success"){

infoTip("删除成功",2000);

}

}

});

后台:

@RequestMapping(value="del")

@ResponseBody

public String del(String[] newArray,String[] delArray){

return "";

}


如果不加traditional,通过 观察浏览器中发送的请求,可以发现参数如下:

newArray[]:

delArray[]:

可以看到,参数的名字为newArray[]而不是我们所定义的newArray,也就是说,当传递数组时,会在我们的数组名称后自动加上”[]”,所以后台接不到。

加上traditional后,就对了。

②前台

varitemsArray=[];

$.ajax({

type:'post',

contentType:'application/json;charset=UTF-8',//解决415错误

data:JSON.stringify(itemsArray),2000);

}

}

});

后台:

@RequestMapping(value="del")

@ResponseBody

public String del(@RequestBody String[]newArray){

return "";

}

注: 只能传一个数组。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读