<%@ 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访问都不行。求高手指点
$(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