如何使用javascript显示服务器响应?

时间:2013-05-24 02:41:40

标签: javascript ajax struts2

我需要使用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,提供了一个很好的解决方案,但还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您需要将服务器响应发送到单独的页面,并使用jquery.html或xmlhttp.responseText显示该页面。

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

struts.xml中

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

message.jsp

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

你的其余代码应该没问题。