-1

ajax を使用して、フォームを送信し、関連するメッセージ (送信済み/問題が発生した) を表示する必要があります。サーバーに送信するフォームを含むページがあり、javascript/ajax を使用してサーバーにリクエストを送信しています。サーバーから応答を受信して​​ページに表示する方法は?

現在、「xmlhttp.responseText」を書いていますが、サーバーのレスポンスを表示する必要がある場合はどうですか?

メッセージを表示するために以下も使用しましたが、JavaScriptではなくフォームを使用してリクエストを送信した場合にのみ機能します。

変数の値を表示する他の方法はありますか? サーバーが ajax リクエストに応答した後?

財産

      <s:property value="message"/> 

JavaScript 関数

function AddToWatchList(value){
    if(window.XMLHttpRequest)
    {
        xmlhttp = new XMLHttpRequest();
    }
    else
    {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            document.getElementById("message").innerHTML = xmlhttp.responseText;
        } 
    }
    xmlhttp.open("get","add?myvalue="+value,false);
    xmlhttp.send();
}

サーバーコード

 ...
 private String message;
  public String add(){
    ....
    this.message = "added";
    return "success";
}
 getter and setter of message
 .....

特定の変数の値を表示したいので、xmlhttp.responseText は正解ではありません。サーバー上のメッセージ変数としましょう。

Mir Moordio は素晴らしい解決策を提供してくれましたが、これを行うためのより良い方法はありますか?

4

1 に答える 1

1

サーバーの応答を別のページに送信し、jquery.html または xmlhttp.responseText を使用してそのページを表示する必要があります。

private String message;
  public String add(){
    ....
    this.message = "added";
    return "message";   
}

struts.xml

<result name="message">message.jsp</result>

メッセージ.jsp

   required library goes here
   <s:property value="message"/> 

コードの残りの部分は問題ないはずです。

于 2013-05-24T04:23:30.297 に答える