js代码function GetResult() 

var oBao = new ActiveXObject("Microsoft.XMLHTTP");  
oBao.open("POST","server.jsp",false); 
oBao.send(); 
//服务器端处理返回的是经过escape编码的字符串. 
var strResult = unescape(oBao.responseText); 
//将字符串分开. 
var arrResult = strResult.split(","); 
//将取得的字符串分开,并写入表格中. 
for(var i=0;i<arrResult.length;i++) 

arrTmp = arrResult[i];
alert(arrTmp);

} server.jsp代码<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
out.println("10");
%>
这样调用可以正确alert出值------------------------------------------
如果我这个请求要提交给Struts2的action呢
1、action里面怎么把值返回过去啊2、action要不要配置返回页面呢?麻烦写个示例代码

解决方案 »

  1.   

    <result name="***" type="json"></result>在action里不要返回的属性的getter加上@JSON(serialize = false) (要返回的属性有getter()就可以返回了)
      

  2.   

    Action要这样做public class AjaxAction extends ActionSupport{
    HttpServletResponse response = ServletActionContext.getResponse(); public String execute(){
    try {
    response.getWriter().write("10");
    } catch (IOException e) {
    e.printStackTrace();
    }
    return null;
    }
    }其他都是Struts下的编程常规,没有任何特殊之处,就不赘述了。