请教大神 后台获取不到jsp页面的值,哪里写错了 5C

jsp页面

 $("#outPut").click(function(){
            var table = document.getElementById("ta"); 
            var tr = table.getElementsByTagName("tr");
            var len = tr.length;
            var _list = {};
            for(i=1;i<len;i++){
                _list=tr[i].innerHTML;
                alert(_list);
            }
            $.ajax({
            url : 'upLoadOutBound',
            type : 'POST',
            data : {ob : _list},
            dataType : 'json',
            success : function(msg){
                alert(msg);
            }
            });
        });

后台controller

 @RequestMapping("/upLoadOutBound")
    public Object upLoadOutBound(OutBound ob,HttpServletRequest request) {
        String YYBH = request.getParameter("YYBH");
        System.out.println("haha"+YYBH);
        return null;
    }

10个回答

data : {ob : _list},

String YYBH = request.getParameter("YYBH");

你传的参数名为ob,后台你用YYBH???是不是搞错了,不懂java。。

你这个有点问题 , list 的值是什么 如果是

这样的 你后台的ob对象结构是什么, 提供一个思路给你 你先用 String 类型 定义 ob 这样就可以收到了 后台在去解析
zhangqwe886
咸鱼zhang丶 String可以收到,我要取多个table中的值,这个要怎么定义类型呢
大约 2 年之前 回复
zhangqwe886
咸鱼zhang丶 感谢,先试一下
大约 2 年之前 回复

$("#outPut").click(function(){
var table = document.getElementById("ta");
var tr = table.getElementsByTagName("tr");
var len = tr.length;
var _list = [];
for(i=1;i<len;i++){
_list.push(tr[i].innerHTML);
alert(_list);
}
$.ajax({
url : 'upLoadOutBound',
type : 'POST',
data : {ob : JSON.stringify(_list)},
dataType : 'json',
success : function(msg){
alert(msg);
}
});
});

             @RequestMapping("/upLoadOutBound")
public Object upLoadOutBound(String ob,HttpServletRequest request) {
    String YYBH = request.getParameter("ob");
    System.out.println("haha"+YYBH);
    return null;
}
zhangqwe886
咸鱼zhang丶 感谢,源码都出来了
大约 2 年之前 回复

是能访问方法呢还是连方法都不能进入?

zhangqwe886
咸鱼zhang丶 可以进方法 定义 ob 为null
大约 2 年之前 回复

如果能访问方法 那就是你的后台controller没有指定json格式 如果连方法都进入不了 那就说明是你写的ajax出问题了,就看你代码的方式 我个人感觉应该是你后台获取数据的时候ob为空,你可以尝试一下吧他指定为json格式

zhangqwe886
咸鱼zhang丶 感谢,是能进方法的,后台打断点 ob 是空的
大约 2 年之前 回复

查看下前台F12 看看参数信息

zhangqwe886
咸鱼zhang丶 感谢回应,参数信息没报错,后台获取是空的,syso打印出的是beans路径
大约 2 年之前 回复

你用的什么框架,我觉得可能是ajax请求地址的问题。不是的话你看看,前台的list里面是否有值。innerHTML 属性是用来设置或返回表格行的开始和结束标签之间的 HTML的,是这样的

<td>value1</td>
 <td>value2</td>

试一试用value得值,document.getElementById("id").value; ajax的用法是 $("#id").val();

zhangqwe886
咸鱼zhang丶 感谢list返回的值是:alert弹出的是 <td>1</td><td>2</td>... 这样的
大约 2 年之前 回复

public Object upLoadOutBound(OutBound ob,HttpServletRequest request) {
String YYBH = request.getParameter("YYBH");
后台counter问题

zhangqwe886
咸鱼zhang丶 感谢,我这是通过两种方式取值,看看哪个可以取到,结果两个都取不到
大约 2 年之前 回复

如果没有记错,RequestMapping默认是get获取吧,你POST传值当然获取不到了,还有dataType好像不能用json的,还有就是url可能写错了

zhangqwe886
咸鱼zhang丶 感谢回应,我检查一下
大约 2 年之前 回复

前端定义数组,后台数组接收String[] studentNames = request.getParameterValues("studentNames");

zhangqwe886
咸鱼zhang丶 感谢回应,我试一下
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐