从javascript发送值到jsp(使用jquery)
-
03-07-2019 - |
题
现在我有一个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>
如果这是正确的,那么你应该说 $(&quot;#data&quot;)。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
其他提示
尝试使用 jQuery Ajax API - 您可以使用它通过GET或POST发送任意数据而且你不需要设置隐藏的表格或任何东西。
您始终可以使用XMLHttpRequest发送数据。这可以通过我们无需用户在元素(如表单提交按钮)上进行交互来完成。 jQuery内置了用于协助此类请求的功能。
不隶属于 StackOverflow