已经获取到tbody下的tr里的所以td,该怎么把数据传输到后端,后端又该怎么接收?

454545454545454 2018-07-04 11:20:38
想把获取到的数据传到后端去,代码是SSM框架的,有哪位大神知道吗?
$("#search").click(function () {
var trList = $("tbody").children("tr");
for (var i=0;i<trList.length;i++) {
var tdArr = trList.eq(i).find("td");
var test0 = tdArr.eq(0).text();
var test1 = tdArr.eq(1).text();
var test2 = tdArr.eq(2).text();
var test3 = tdArr.eq(3).text();
var test4 = tdArr.eq(4).text();
var test5 = tdArr.eq(5).text();

console.log("test0:"+test0);
console.log("test1:"+test1);
console.log("test2:"+test2);
console.log("test3:"+test3);
console.log("test4:"+test4);
console.log("test5:"+test5);
}


$.ajax({
type: "POST",
dataType: "json",
url: "insert.do",
data: '{"":}',
success: function (result) {
console.log(result);//打印服务端返回的数据(调试用)
if (result.resultCode == 200) {
alert("SUCCESS");
}
},
error: function () {
alert("异常!");
}
})
});

@RequestMapping(value="/insert.do",method = RequestMethod.POST)
@ResponseBody
public void insertTest(HttpServletRequest request,@RequestBody String test) throws Exception{
test= URLDecoder.decode(test,"utf-8");
ObjectMapper mapper=new ObjectMapper();
request.getParameter(test);
System.out.println("这是测试:" + test);

}
...全文
807 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你没有返回值、ajax方法设置dataType: "json",你需要返回一个json字符串。你可以把后台void改成String,然后返回一个json字符串。不然是会进入到error的
454545454545454 2018-07-05
  • 打赏
  • 举报
回复
引用 3 楼 u010970951 的回复:
ajax中的对象是你要传入的对象,举个例子:
ajax({
data:{
id:123,
name:zhangsan
}
...其他省略
})
后台接受到的@RequestBody String test,test就等于id=123&name=zhangsan,是个字符串,你根据&拆分,写个工具转成对象就行了



进到error里了
  • 打赏
  • 举报
回复
你可以自己调试一下,看看test是什么样子的,因为springmvc内部不同版本处理方式不一样。前台data传好了后台看接受的格式在处理就ok了
  • 打赏
  • 举报
回复
ajax中的对象是你要传入的对象,举个例子:
ajax({
data:{
id:123,
name:zhangsan
}
...其他省略
})
后台接受到的@RequestBody String test,test就等于id=123&name=zhangsan,是个字符串,你根据&拆分,写个工具转成对象就行了
454545454545454 2018-07-05
  • 打赏
  • 举报
回复
引用 1 楼 u010970951 的回复:
$.ajax({
type: "POST",
dataType: "json",
url: "insert.do",
data: {"":}, <-----------这里data不需要传入字符串,对象就可以
success: function (result) {
console.log(result);//打印服务端返回的数据(调试用)
if (result.resultCode == 200) {
alert("SUCCESS");
}
},
error: function () {
alert("异常!");
}
})
public void insertTest(HttpServletRequest request,@RequestBody String test) throws Exception{
test= URLDecoder.decode(test,"utf-8");
ObjectMapper mapper=new ObjectMapper();
request.getParameter(test); <----------------------test会是一个json格式的字符串,并不是变量名,你可以直接把test当成json字符串解析
System.out.println("这是测试:" + test);

}

大神能具体说下吗data哪里我要JSON.stringify()吗?data写那个对象?
 public void insertTest(HttpServletRequest request) throws Exception{
//trList= URLDecoder.decode(trList,"utf-8");
//ObjectMapper mapper=new ObjectMapper();
JSONArray json = JSONArray.fromObject("trList");
Object array=JSONArray.toArray(json);
System.out.println("这是测试:" + array);

}
  • 打赏
  • 举报
回复
$.ajax({
type: "POST",
dataType: "json",
url: "insert.do",
data: {"":}, <-----------这里data不需要传入字符串,对象就可以
success: function (result) {
console.log(result);//打印服务端返回的数据(调试用)
if (result.resultCode == 200) {
alert("SUCCESS");
}
},
error: function () {
alert("异常!");
}
})
public void insertTest(HttpServletRequest request,@RequestBody String test) throws Exception{
test= URLDecoder.decode(test,"utf-8");
ObjectMapper mapper=new ObjectMapper();
request.getParameter(test); <----------------------test会是一个json格式的字符串,并不是变量名,你可以直接把test当成json字符串解析
System.out.println("这是测试:" + test);

}
北京不不 2018-07-05
  • 打赏
  • 举报
回复

//前端WEB
var s={test1:"test1",test2:"test2",test3:"test3"};
var jsonstr=JSON.stringify(s);
$.ajax({
type: "POST",
dataType: "json",
url: "insert.do",
data: {"test":jsonstr}, <-----------这里把JSON转字符串传过去
success: function (result) {
console.log(result);//打印服务端返回的数据(调试用)
if (result.resultCode == 200) {
alert("SUCCESS");
}
},
error: function () {
alert("异常!");
}
})


后台

JSONObject ss=JSONObject.parseObject(test); //fastjson.jar包方法
ss.get("test1") //输出test1
ss.get("test2");

81,090

社区成员

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

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