axios将字符数组数据转换为字符串传递给后端
前后端数据交互
·
前端请求
methods: {
del(){
ids=[];
this.multipleSelection.forEach(item=>{
ids.push(item.aid)//ids=["1","2","3","4"]
})
//通过array.join()方法将数组ids转换为字符串ids=1,2,3,4,5
axios.delete("/acc?ids="+ids.join(",")).then(resp=>{
let data=resp.data;
if (data.code==200){//删除成功
this.$message({
type: 'success',
message: '删除成功!'
});
//刷新表格数据
this.initData();
}
})
})
后台接收
/**
* Controller
* 根据主键删除
* @param ids 能够自动识别并接收前端传递过来的字符串ids=1,2,3,4
* @return
*/
@DeleteMapping
@ApiOperation("根据主键删除账户")
public ResponseData deleteById(@ApiParam("账户主键") String ids){
return service.removerById(ids);
}
/**
* Service
* 根据主键删除
* @param id
* @return
*/
@Override
public ResponseData removerById(String ids) {
//将字符串ids通过字符串提供的split()方法转化为字符数组进行批量删除
int row = dao.deleteById(ids.split(","));
if (row>0){
return ResponseData.ok();
}
return ResponseData.error();
}
数据库持久化
<delete id="deleteById">
<!--delete from account where aid in (1,23,4,45,54)-->
<foreach collection="array" item="id" open="delete from account where aid in ("
close=")" separator=",">
#{id}
</foreach>
</delete>
更多推荐
已为社区贡献1条内容
所有评论(0)