-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 回答