ajax传参问题

一只开发狗001 2018-08-11 05:55:26
用jquery ajax传参

var dataMap=[];
dataMap={
data1:"data1",
data2:"data2",
data3:"data3",
data4:"data4",
data5:"data5",
}
$.ajax({
url:"/xxxx/xxxxx",
type:"GET",
dataType:"JSON",
async:true,
data:{
"dataMap":dataMap
},
success:function (data) {
faulMap=[];
},error:function () {

},beforeSend: setHeader
})

然后后台是java的SSM框架

@GetMapping("addFaultInfo")
public Response addFaultInfo(??? dataMap){
}

前台是以json传过来。后台想要接收数据改用什么。我用spring[]接收报500,我用obj接收转成spring根本打印不出数据,Map的话是空的。 List也不行。或者说ajax的数据类型改用什么。请大神们指教
...全文
709 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
亲爱的Joe 2018-08-21
  • 打赏
  • 举报
回复
直接传个json字符串,然后后台接收到字符串后用Gson 转成一个String 集合
  • 打赏
  • 举报
回复
引用 8 楼 LoveAndLvan 的回复:
[quote=引用 6 楼 CSDN__FL 的回复:]
@GetMapping("addFaultInfo")
public Response addFaultInfo(??? dataMap){
}

这里得参数‘dataMap’首先得是一个对象,并且它里面需要有这几个属性
data1
data2
data3
data4
data5
你的代码data2后面还需要,这个符号吗
dataMap={
data1:"data1",
data2:"data2",
data3:"data3",
data4:"data4",
data5:"data5",
}

谢了,我大概懂了。不过如果不加‘ , ’ 会报错[/quote]

我的意思是 data5:“data5”后面就不用加逗号了吧 加了不会报错吗
zzteee 2018-08-21
  • 打赏
  • 举报
回复
把dataType:"JSON",去掉后台用Map接
或者data:JSON.stringify(dataMap) , 后台用List<Map>接
Java酸不酸 2018-08-20
  • 打赏
  • 举报
回复
前端ajax传入json字符串,后台使用fastjson解析即可,参考代码如下:

@RequestMapping("/test")
public void test(String dataMap) {
Map<String, Object> map = JSON.parseObject(dataMap);
for (Object o : map.values()) {
System.out.println(o);
}

}
小流氓dy 2018-08-20
  • 打赏
  • 举报
回复
request.getParameterValues(); ajax传值:dataMap[]:dataMap
  • 打赏
  • 举报
回复
在方法中加入@requestBody注解,创建实体类,结构和你要穿的json一致,这个注解会自动将json映射到你新建的实体。
洛洛i 2018-08-16
  • 打赏
  • 举报
回复
使用注解@RequestBody String msg或者@RequestBody JSONObject msg接收的数据为json对象或者json字符串,再对json进行相关处理
醉酒后的李白 2018-08-15
  • 打赏
  • 举报
回复
引用 14 楼 LoveAndLvan 的回复:
[quote=引用 13 楼 qq_24916847 的回复:]
data5后面不用加 , 号了,后台接收的话可以直接在方法的参数中定义,也可以从request中取
dataMap={
data1:"data1",
data2:"data2",
data3:"data3",
data4:"data4",
data5:"data5"
}



@GetMapping("addFaultInfo")
public Response addFaultInfo(String data1,String data2,String data3,String data4,String data5){
}

老哥,我就是不想后台方法参数过多才想找别的办法接收。[/quote]




你按字符串传,后台request接收。
一只开发狗001 2018-08-15
  • 打赏
  • 举报
回复
引用 13 楼 qq_24916847 的回复:
data5后面不用加 , 号了,后台接收的话可以直接在方法的参数中定义,也可以从request中取
dataMap={
data1:"data1",
data2:"data2",
data3:"data3",
data4:"data4",
data5:"data5"
}



@GetMapping("addFaultInfo")
public Response addFaultInfo(String data1,String data2,String data3,String data4,String data5){
}

老哥,我就是不想后台方法参数过多才想找别的办法接收。
松鼠不是鼠 2018-08-15
  • 打赏
  • 举报
回复
上面已经给了答案了,一般都会用一个参数类来接受,这样代码看着更“好看”,参数多了以后不至于显示一大堆
Dan淡淡的心 2018-08-14
  • 打赏
  • 举报
回复
String dataMap 接收 然后用JSONObject转成json对象处理
青灯古酒ி 2018-08-14
  • 打赏
  • 举报
回复
data5后面不用加 , 号了,后台接收的话可以直接在方法的参数中定义,也可以从request中取
dataMap={
data1:"data1",
data2:"data2",
data3:"data3",
data4:"data4",
data5:"data5"
}



@GetMapping("addFaultInfo")
public Response addFaultInfo(String data1,String data2,String data3,String data4,String data5){
}
北冥友余 2018-08-14
  • 打赏
  • 举报
回复
(1)要么使用RequestBody注解,@RequestBody Map<String,Object> dataMap
(2)要么从请求体里面获取参数,HttpServletRequest request。
  • 打赏
  • 举报
回复
方法1:创建一个dataMap对象,包含属性data1-data5
方法2:使用JSONObject
  • 打赏
  • 举报
回复
创一个类,里面包含五个string 对象,并且命名为:data1, data2, data3, data4, data5
幺客 2018-08-13
  • 打赏
  • 举报
回复
一个有至少5个string 的对象,或者 用5个string
一只开发狗001 2018-08-13
  • 打赏
  • 举报
回复
引用 1 楼 h89647964 的回复:
一个有至少5个string 的对象,或者 用5个string

我就是想避免方法后面参数太臃肿。或者减少代码冗余
一只开发狗001 2018-08-13
  • 打赏
  • 举报
回复
引用 6 楼 CSDN__FL 的回复:
@GetMapping("addFaultInfo")
public Response addFaultInfo(??? dataMap){
}

这里得参数‘dataMap’首先得是一个对象,并且它里面需要有这几个属性
data1
data2
data3
data4
data5
你的代码data2后面还需要,这个符号吗
dataMap={
data1:"data1",
data2:"data2",
data3:"data3",
data4:"data4",
data5:"data5",
}

谢了,我大概懂了。不过如果不加‘ , ’ 会报错
一只开发狗001 2018-08-13
  • 打赏
  • 举报
回复
引用 2 楼 shanchuanli0904 的回复:
创一个类,里面包含五个string 对象,并且命名为:data1, data2, data3, data4, data5

是不是如果传过来的参数名称和一个实体类中的字段名一致,可以直接用这个实体类接收,但是我前台 dataMap={} 这个形式没有问题码
  • 打赏
  • 举报
回复
 @GetMapping("addFaultInfo")
    public Response addFaultInfo(??? dataMap){
}

这里得参数‘dataMap’首先得是一个对象,并且它里面需要有
data1
data2
data3
data4
data5
加载更多回复(3)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧