java - 将值从 JavaScript 发送到 JSP(使用 jQuery)

标签 java javascript jquery jsp integration

现在我有一个允许对某些项目进行排序的 JSP 页面,当准备就绪并单击链接时,JavaScript 函数将所有信息转换为 XML(变量中的文本),之后我需要将此 XML 发送到再次访问 JSP 页面,我尝试将信息放入隐藏输入并提交表单,使用 $.post 和更多 jQuery 函数发送,但没有任何效果。 有什么想法吗?

在我的 JSP 中,我正在阅读这样的帖子:

<% out.println(request.getParameter("data")); %>

这行不通:

xml = "<xml></xml>";
$("#form").submit(function(){
   alert("JS: " + $("#data").text());
   $("#data").text(xml);
});

这要么:

xml = "<xml></xml>";
$("#data").text(xml);
$("#form").submit();

用 .html 替换 .text 也不起作用。 欢迎任何想法,thx

最佳答案

你可能走错了路。您没有提供 html 代码,但我认为它是这样的:

<form method="POST" id="form">
    <input type="hidden" id="data" />
</form>

如果这是正确的,那么你应该说 $("#data").val(xml); 而不是 text()html( ) 因为它们会用您提供的文本或 html 更改匹配的内容。这应该适用于您当前的解决方案。

此外,我建议查看 jQuery 的 $.post() 和其他作为将所有内容打包为 xml 的替代方法,除非这确实是您在后端想要的。用一些名称作为键值的所有值组成一个 javascript 对象并将其传递给 jQuery 的 $.post()、$.get() 等之一可能会更容易。像这样:

var values = {name: "John", surname: "Doe"};
values.age = 25;
$.post("index.jsp", values); // this will result in a post with 3 variables: name, surname, age

实际上,现在我才想到您也可以通过这种方式发送 xml(除非您更喜欢自己的做事方式):

$.post("index.jsp", {data: "<xml><whatever-else-needs-to-be-in-here/></xml>"});

您可能想在这里更多地启发自己:Ajax @ jQuery docs

关于java - 将值从 JavaScript 发送到 JSP(使用 jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/401114/

相关文章:

java - 当 Java 应用程序从 Eclipse 运行时,它应该在哪里创建文件?

java - 尝试使用 JFrame 和 JPanel 在 Java 中为多个图像制作动画

java正则表达式查找具有特殊字符的精确单词

javascript - React JS/Webpack/Sass/Bootstrap 4 anchor 链接不能居中?

javascript - 如何同步FileReader onload函数?

javascript - 除了 (':not( selector )' 之外,jQuery 的替代方案是什么?

java - 如何将十进制转换为二进制并以特定方式格式化?

Javascript:如何获取所有打开窗口的列表

javascript - 好奇 : Disable jQuery and Javascript interactions unless user is logged in?

javascript - 手动传递 'This' jquery 选择器