现在我有一个允许对某些项目进行排序的 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/