5

現在、いくつかのアイテムを並べ替えることができる 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();

また、.text を .html に置き換えても機能しません。どんなアイデアでも大歓迎です、thx

4

3 に答える 3

4

あなたはおそらくここで間違った方向に進んでいます。あなたはhtmlコードを提供しませんでしたが、次のようなものだと思います:

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

それが正しい場合は、$("#data").val(xml);代わりに、text()またはhtml()それらが一致したものをあなたが提供するテキストまたはhtmlで変更するように言う必要があります。これは、現在のソリューションで機能するはずです。

$.post()また、バックエンドで本当に必要な場合を除き、すべてを xml としてパックする代わりに、jQuery などを検討することを提案します。$.post(), $.get()次のように、いくつかの名前でキー付けされたすべての値を使用して JavaScript オブジェクトを作成し、それを jQueryなどのいずれかに渡す方が簡単な場合があります。

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

于 2008-12-30T21:38:23.423 に答える
2

jQuery Ajax API を使用してみる - GET または POST を介して任意のデータを送信するために使用でき、非表示のフォームなどを設定する必要はありません。

于 2008-12-30T19:12:20.690 に答える
1

常に XMLHttpRequest を使用してデータを送信できます。これは、フォーム送信ボタンなどの要素でユーザーの操作なしで行うことができます。jQuery には、このような要求を支援する機能が組み込まれています。

http://docs.jquery.com/Ajax

于 2008-12-30T19:05:49.563 に答える