java - InnerHTML 没有给 servlet 带来值(value)

标签 java javascript html servlets

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 没有任何效果,我也在数组中尝试过......但没有任何效果......提前帮助我谢谢......

最佳答案

请引用https://stackoverflow.com/a/15312976/1031191 。这意味着您的 xmlhttp 代码没有问题。尝试在浏览器中使用 JavaScript 控制台来验证 uname 是一个字符串并且包含正确的数据。

收到“undefined”意味着uname的值在客户端恰好是“undefined”。请参阅 getParameter 的引用:http://docs.oracle.com/javaee/1.3/api/javax/servlet/ServletRequest.html 。 它表示您必须接收 String 或 null。 (因此,在您的情况下,由于某种原因, xmlhttp.send() 的参数是“uname=undefined”。)

更新 2:

可能您需要 document.getElementsByTagName('td')[3] 而不是“this”。
但是,嘿,如果您无论如何都使用 jQuery,为什么不编写 $('td').get(3) 而不是 getElementsByTagName?

更新 3:

我认为您的 html 中的 td 元素少于 4 个。请注意,JavaScript 数组是从 0 开始索引的。如果您不小心尝试访问数组中超出范围的索引,您会收到“未定义”消息。

关于java - InnerHTML 没有给 servlet 带来值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18999721/

相关文章:

java - 我可以在我的 xdocreport 模板中包含其他文档/片段吗?

javascript - 为什么这个 for 循环只打印一个元素?

javascript - body 加载完成时触发事件 js/jquery

javascript - 按键在我为某些聊天应用程序制作的功能中不起作用

java - JSP中如何缩短URL地址

Java 8 具有 Stream API、Lambda 以及与 java 7 的简洁代码比较

java - 无法修改我的index.scala.html 文件并且无法连接到本地主机 :9000 in Play framework

java - 如何将 JSON 格式的数据从 WebView 传递到 HTML 页面

<li> 标签内的 HTML/CSS <ul> 标签 - 周围的元素会移动

javascript - 查询 jquery if 和 :contains