cell = this.getElementsByTagName("td")[3];
uname = cell.innerHTML;
我通过innerHTML获取特定单元格的值,并将该值传递给Servlet
xmlhttp.open("POST","UserServlet",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("uname="+uname);
在Servlet中
uname = request.getParameter("uname");
out.print(uname);
System.out.println(uname);
我在控制台中得到“未定义”....... 是否有任何方式获取值并将其传递给servlet 我试过.innerHTML,.innerText,.value什么都没有用,我在数组中试过......但是没有用......先帮助我谢谢......
答案 0 :(得分:1)
请参阅https://stackoverflow.com/a/15312976/1031191。这意味着你的xmlhttp代码很好。在浏览器中尝试使用javascript控制台,验证uname
是否为字符串并包含正确的数据。
接收“未定义”意味着uname
的值在客户端正是“未定义”。请参阅getParameter的参考:http://docs.oracle.com/javaee/1.3/api/javax/servlet/ServletRequest.html。
它表示您必须接收String或null。 (所以在你的情况下,xmlhttp.send()的参数由于某种原因是“uname = undefined”。)
可能你需要document.getElementsByTagName('td')[3]
而不是“this”
但是,嘿,如果你还是使用jQuery,为什么不写$('td').get(3)
而不是getElementsByTagName?
我认为你的html中只有不到4个 td 元素。请注意,javascript数组的索引是0.如果您不小心尝试访问超出范围的数组中的索引,则会收到“undefined”。