<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head><!--
   <script type="text/javascript" src="js/prototype-1.6.0.3.js"></script>
   -->
   <script type="text/javascript" src="js/jquery-1.4.3.js"></script>
<script type="text/javascript">
function f1(){
var v1=document.getElementById("name").value;
if(v1.length==0){
var vs1 =document.getElementById("s1");
vs1.innerHTML="erro";
}else{
/*new Ajax.Request('web/check.action',
{
  method:'post',
  parameters:{name:$F('name')},
  onSuccess:function(req){
  var js = req.responseText.evalJSON();
 alert(req.ok);
  if(req.ok){
  alert("ok");
   $("s1").innerHTML("可以使用");
  }else{
   $("s1").innerHTML("不能使用");
  }

 }
 
}
);*/
 var v = false;
$.ajax({url:"check.action?name="+v1,type:"post",dataType:"json",async:true,success:function(obj){
               if(obj.ok){
               
               $("#s1").text("可以使用"); 
               v = obj.ok;
               }else{
               
               $("#s1").text("被占用"); 
               v=obj.ok
               alert(obj.ok);
              
               
               }
           }});
          alert(v);
          return v;
        
}

}
</script>
  </head>
  
  <body>
   <form action="add">
    <input type="text" id="name" name="name" onblur="f1();"/>
    <span id="s1"></span>
   </form>
  </body>
</html>
[code=Java]
package web;import org.apache.struts2.json.annotations.JSON;import com.opensymphony.xwork2.ActionSupport;public class CheckName extends ActionSupport{
/**
 * 
 */
private static final long serialVersionUID = 1L;
private String name;
private boolean ok;@JSON(serialize=false)
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public boolean isOk() {
return ok;
} public void setOk(boolean ok) {
this.ok = ok;
}
public String execute() {
System.out.println("1234");
System.out.println(name);
if(!name.equals("zs")){
ok = true;
return "success";
}else{
ok=false;
return "fail";
}
}
}
[code=XML]
 <package name="web" namespace="/web" extends="json-default">
  <action name="check" class="web.CheckName">
   <result name="success" type="json" ></result>
   <result name="fail" type="json"></result>
  </action>
  </package>
不报异常,浏览器错误面板没有错,就是进不了Action不知道为什么,页面两种ajax访问都不行。求高手指点

解决方案 »

  1.   

    请求的路径对不?换个格式试试. ./web/check.action
      

  2.   


    $(function(){
    $("#name").bind('onblur', function(){
                                    var nv = $("#name").val();
    if(confirm("确定?")){
    $.ajax({
    url : "../web/check.action",
    data : {name : nv},
    type : "post",
    dataType : "json",
    success : function(data) {
    //包数据解析为json 格式 
      if(data.ok){....}
    }
    });
    }
    });
    });如果../web/check.action不行的。。
    那就利用jsp页面上的路径
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";<%=basePath%>/web/check.action
      

  3.   

    原来不是这些的错,web.xml里面有错误。改了就好了