struts2中用jquery的ajax往action中传值,action却接收不到值? 10
不熟悉json和ajax,没有用到json,正在学习ajax。前台都是返回可以注册,这是为什么?现在就是后台action应该如何去接收ajax传过来的值?jsp代码:$(...
不熟悉json和ajax,没有用到json,正在学习ajax。前台都是返回可以注册,这是为什么?现在就是后台action应该如何去接收ajax传过来的值?
jsp代码:
$("#us").formValidator({onShow:"请输入用户名6-15位数字,字母或下划线",onFocus:"用户名至少6个字符,最多15个字符",onCorrect:"该用户名可以注册"}).inputValidator({min:6,max:15,onError:"你输入的用户名非法,请确认"}).regexValidator({regExp:"username",dataType:"enum",onError:"用户名格式不正确"})
.ajaxValidator({
type : "get",
url : "admin/admin/manage/userManager_check.action?",
data: "checkname:"+$("#us").val(),
success : function(data){
if( data == "exist" )
{return false;}
else
{return true;}
},
buttons: $("#button"),
error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},
onerror : "用户名不可用,请更换用户名",
onwait : "正在对用户名进行合法性校验,请稍候..."
});
action代码:
省略引用包
public class UserManagerAction extends ActionSupport{
private String checkname;
public String check(){
省略getter和setter方法}
System.out.println(checkname);
if(loginUserManageService.checkName(checkname)!=null){
System.out.println("true");
return "exist";}
else
return "notexist";
} 展开
jsp代码:
$("#us").formValidator({onShow:"请输入用户名6-15位数字,字母或下划线",onFocus:"用户名至少6个字符,最多15个字符",onCorrect:"该用户名可以注册"}).inputValidator({min:6,max:15,onError:"你输入的用户名非法,请确认"}).regexValidator({regExp:"username",dataType:"enum",onError:"用户名格式不正确"})
.ajaxValidator({
type : "get",
url : "admin/admin/manage/userManager_check.action?",
data: "checkname:"+$("#us").val(),
success : function(data){
if( data == "exist" )
{return false;}
else
{return true;}
},
buttons: $("#button"),
error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},
onerror : "用户名不可用,请更换用户名",
onwait : "正在对用户名进行合法性校验,请稍候..."
});
action代码:
省略引用包
public class UserManagerAction extends ActionSupport{
private String checkname;
public String check(){
省略getter和setter方法}
System.out.println(checkname);
if(loginUserManageService.checkName(checkname)!=null){
System.out.println("true");
return "exist";}
else
return "notexist";
} 展开
展开全部
$.get(
"list.action",//这个是执行的action,再xml配置。
{
selected:"#select option:selected").val(),time:new Date().getTime()//selected这个变量需要在action有对应的set和get方法,后面的时间是防止浏览器读取缓存信息,如单次刷新操作可省略。
},
function(data){
data返回一个json对象,如action中有一个address的对象,address有一个phone属性,
这里这样获取:data.address.phone
}
)
注意:在xml配置文件中格式,双引号里内容你自己加。reuslt的返回jsp不写,type类型必须写json
<action name="" class="">
<result name="" type="json"></result>
</action>
这个data就是返回值
"list.action",//这个是执行的action,再xml配置。
{
selected:"#select option:selected").val(),time:new Date().getTime()//selected这个变量需要在action有对应的set和get方法,后面的时间是防止浏览器读取缓存信息,如单次刷新操作可省略。
},
function(data){
data返回一个json对象,如action中有一个address的对象,address有一个phone属性,
这里这样获取:data.address.phone
}
)
注意:在xml配置文件中格式,双引号里内容你自己加。reuslt的返回jsp不写,type类型必须写json
<action name="" class="">
<result name="" type="json"></result>
</action>
这个data就是返回值
展开全部
把data: "checkname:"+$("#us").val(),
改为data: "checkname="+$("#us").val(),
改为data: "checkname="+$("#us").val(),
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private String checkname; 改成 public String checkname;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
完全用面向对象的方法吧。
url : "admin/admin/manage/userManager_check.action", //这里没必要加 ?
data : {
checkname : $("#us").val()
},
另外要看一下你的url是否正确。
url : "admin/admin/manage/userManager_check.action", //这里没必要加 ?
data : {
checkname : $("#us").val()
},
另外要看一下你的url是否正确。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是URL不完整或者是有跨域问题,可以尝试加入完整的URL再看看,并且,如果是在本地访问的话,前缀应该为http://localhost:portnum/projectName/......functionURL
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询