
不要显示指定datatype,然后data改写成:
data:{fs_userId:fs_userId}如果你用的是struts2的话,后台定义一个fs_userId全局变量即可接受!
你用json格式 把 string类型封装成 对象,然后再把json对象解析为 string类型,这样应该就OK了吧,。
function checkExist(){
//使用 Ajax 的方式 判断数据库中是否有该用户的名字(注册的时候)
alert($("#name")val());
$("#nameW")empty();
var url = "regiValiAndLoginAjax!isNameExist";
//获取表单值,并以json的数据形式保存到params中
var params = {name:$("#name")val()}
//使用$post方式
$post(
url, //服务器要接受的url
params, //传递的参数
function cbf(data){ //服务器返回后执行的函数 参数 data保存的就是服务器发送到客户端的数据
//alert(data);
var member = eval("("+data+")"); //包数据解析为json 格式
isExist = membernameExist;
if(membernameExist == "false"){
isNameT = "true";
namePass = true;
//$("div[id!='nameW4']")empty();
alert("恭喜你,用户名可用的啦");
$("#nameW4")show("slow");
$("#nameW3")hide("slow");
$("#name")attr("disabled", true);
$("nameW1")css("color", "#333333");
}
else{
alert("用户名已存在,请重新输入");
namePass = false;
$("#nameW3")show("slow");
$("#nameW4")hide("slow");
isNameT = "false";
}
},
"json" //数据传递的类型 json
);
}
上面是 jsp 的页面代码:
下面是java中的代码;
//以下是ajax的访问的方法开始
public String isNameExist(){//判断用户的注册名在数据库中是否存在的 啦
vali = new Validation();
name = thisgetName();
Systemoutprintln("userName = " + name);
boolean exist = false;
String isExist = "false";
try {
exist = thisuserServiceexistsName(name);
} catch (Exception e) {
// TODO: handle exception
eprintStackTrace();
}
if(exist){
isExist = "true";
}else{
thisgetSession()put("name", thisgetName());
Systemoutprintln(thisgetSession()get("name")toString());
}
valisetNameExist(isExist);
JSONObject jo = JSONObjectfromObject(vali);
result = jotoString();
Systemoutprintln(result);
return SUCCESS;
}
其实json格式对数据的封装是很方便的,,ajax + jquery + json 应该是完美的搭配吧 ,,,
有个思路,不知道能不能行,你可以试试,
在action
定义个一个字符串,用来存储你的验证结果,然后
在页面上写个EL表达式。看看值能不能传递到页面的EL表达式,最后将EL表达式值给JS变量判断即可。
临时想的,希望对你有帮助,去试试吧。
以上就是关于jQuery的ajax dataType为text 后台Action如何获取所传数据全部的内容,包括:jQuery的ajax dataType为text 后台Action如何获取所传数据、关于ajax请求action回调函数处理返回值的问题、ssh框架的action类怎么将ajax的值返回页面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)