<script type="text/javascript">

  function check(){
var username = $("#username").val();
$("#result").text("正在检测用户名是否可用");
var url="Login/login_validate.action";
$.post(url,{name:username},function(data){
$("#result").text(data);
$("#result").css("color","red");
},"text");
}
</script>
  </head>
  
  <body>
<form action="Login/login_input.action" method="post">
Username:<input type="text" id="username" name="user.username"/>
 <input type="button" value="Check!" onclick="check();">
 <div id="result"></div>
Password:<input type="password" id="password" name="user.password"/><br/>
<input type="submit" value="Submit"/>
</form>
  </body>
</html>
public class UserLoginAction extends ActionSupport{
/**
 * 
 */
private static final long serialVersionUID = 1L;

private User user;

public void validateUsername(){
String name = ServletActionContext.getRequest().getParameter("name");
this.getUser().setUsername(name);
PrintWriter pw = null;
try {
pw = ServletActionContext.getResponse().getWriter();
if(user.getUsername().equals("111")){
pw.write("已存在");
}else if(user.getUsername().equals("123")){
pw.write("可以使用");
}else{
pw.write("不可以使用");
}
} catch (IOException e) {
e.printStackTrace();
} finally{
pw.flush();
pw.close();
}
}

解决方案 »

  1.   

    如果你的URL没有 写错的话,就看返回的data是什么了;试试将返回数据类型改为html试一下;
      

  2.   

    用struts了还用这样写啊
    去掉
    String name = ServletActionContext.getRequest().getParameter("name");
    this.getUser().setUsername(name);
    改为User user;提供get set方法,
    就行了
      

  3.   

    使用struts2就不需要String name = ServletActionContext.getRequest().getParameter("name");这样写了,这里有有两种写法,具体的你可以看看struts2文档,我一时记不起了
      

  4.   

    指出一点哈,标准的JSON格式,一定要用"key": value
      

  5.   


    后台有收到数据,传到前台 html的头信息响应之中有数据,但是jquery怎么取得数据??
      

  6.   

    我用$.post(url,,success:fn(),data,"text")怎么取不到呢?
      

  7.   

    你的action实现ServletRequestAware, ServletResponseAware两个接口后,分别得到request和response后,然后再试试看
      

  8.   

      var url="Login/login_validate.action"; 
    你把这语句换成
      var url="/Login/login_validate.action";    <script type="text/javascript">                function check(){             var username = $("#username").val();             $("#result").text("正在检测用户名是否可用");             var url="Login/login_validate.action";             $.post(url,{name:username},function(data){                     $("#result").text(data);                     $("#result").css("color","red");             },"text");         }     </script>   </head>       <body>     <form action="Login/login_input.action" method="post">         Username:<input type="text" id="username" name="user.username"/>                  <input type="button" value="Check!" onclick="check();">                  <div id="result"></div>         Password:<input type="password" id="password" name="user.password"/><br/>         <input type="submit" value="Submit"/>     </form>  这里写上你的代码,之后你再试试
     </body> </html>
      

  9.   


    public class UserLoginAction extends ActionSupport{
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
         
        private User user;
        private String result;    //get/set方法
         
        public void validateUsername(){
            String name = ServletActionContext.getRequest().getParameter("name");
            this.getUser().setUsername(name);
            PrintWriter pw = null;
            try {
                pw = ServletActionContext.getResponse().getWriter();
                if(user.getUsername().equals("111")){
                   // pw.write("已存在");
                   result = "已存在";
                }else if(user.getUsername().equals("123")){
                    pw.write("可以使用");
                   result = "可以使用";
                }else{
                    pw.write("不可以使用");
                    result = "不可以使用";
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally{
                pw.flush();
                pw.close();
            }
        }    <script type="text/javascript">
         
             function check(){
                var username = $("#username").val();
                $("#result").text("正在检测用户名是否可用");
                var url="Login/login_validate.action";
                $.post(url,{name:username},function(data){
                        $("#result").text(data.result);
                        $("#result").css("color","red");
                },"json");
            }
        </script>
      </head>
       
      <body>
        <form action="Login/login_input.action" method="post">
            Username:<input type="text" id="username" name="user.username"/>
                     <input type="button" value="Check!" onclick="check();">
                     <div id="result"></div>
            Password:<input type="password" id="password" name="user.password"/><br/>
            <input type="submit" value="Submit"/>
        </form>
      </body>
    </html>
    这样应该可以了吧