现在我有一个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内置了用于协助此类请求的功能。

http://docs.jquery.com/Ajax

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top