从javascript发送值到jsp(使用jquery)

Jua*_*era 5 javascript java integration jquery jsp

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

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

<% out.println(request.getParameter("data")); %>
Run Code Online (Sandbox Code Playgroud)

这不起作用:

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

这个或者:

xml = "<xml></xml>";
$("#data").text(xml);
$("#form").submit();
Run Code Online (Sandbox Code Playgroud)

用.html替换.text不起作用

thx,欢迎任何想法

ink*_*ibl 4

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

<form method="POST" id="form">
    <input type="hidden" id="data" />
</form>
Run Code Online (Sandbox Code Playgroud)

如果这是正确的,那么您应该说$("#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
Run Code Online (Sandbox Code Playgroud)

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

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

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