SSH中ajax回值问题

kong_d_f 2011-07-06 04:59:13
在ssh框架中用ajax验证数据库数据,action方法中已经得到返回值("0"或者"1"),但页面得不到,贴出源代码,请高手吗看看
--------------------------------------javascript--------------------------------------
function checkEmp(userid){ 
var str;
$.ajax({
type:'post',
url:'checkEmp.action?chkUserid='+userid,
data:str,
datatype:'json',
success:alertResult,//不进入alertResult方法
error:function(XMLResponse){alert(XMLResponse.responseText)}
});
alert("checkEmp返回:"+str);//此处弹出提示:undefined
}
function alertResult(str){
alert("checkEmp返回:"+str);//此处不弹出提示
if(str == "1"){
alert("此人已在其他公司任职,或已在本公司担任非财务技术人员,请选择其他人员!");
return;
}
}


--------------------------------------action--------------------------------------
public String ajaxCheckEmp(){
String str = "";
try {
str = aptOperatorBO.checkEmp(chkUserid);
System.out.println("str="+str);//此处已得到查询结果
} catch (GenericBusinessException e) {
e.printStackTrace();
}
return str;
}

--------------------------------------strust XML--------------------------------------
<package name="operatorjson" extends="json-default"> 
<action name="checkEmp" class="operatorAction" method="ajaxCheckEmp">
<result type="json">
</result>
</action>
</package>
...全文
286 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kong_d_f 2011-07-08
  • 打赏
  • 举报
回复
我感觉是XML的错误
kong_d_f 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 showbo 的回复:]
木懂得java,你直接用浏览器访问路径


JScript code

checkEmp.action?chkUserid=123


看有输出没有,没有就是你的action没写对
[/Quote]
该页无法显示,正常页面提交,action内System.out.println("str="+str);可以打印出正常结果
kong_d_f 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jumpheightway 的回复:]
function checkEmp(userid){
var str;
$.ajax({
type:'post',
url:'checkEmp.action?chkUserid='+userid,
data:str,
datatype:'json',
success:function(data){alertResult(data);},//不进入……
[/Quote]

success:function(data){alertResult(data);}这行没有任何反应,也没有进入alertResult方法
kong_d_f 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 licip 的回复:]
你如果用json的插件,那应该把返回到页面上的值,放到action的属性中,然后提供get方法、set方法,在页面上用responseText的属性去取值。
[/Quote]
本身我不想用json,text返回"1"或者"0"就可以,在struts配置文件中<result type="text">如果写成text类型,启动tomcat就报错
licip 2011-07-07
  • 打赏
  • 举报
回复
你如果用json的插件,那应该把返回到页面上的值,放到action的属性中,然后提供get方法、set方法,在页面上用responseText的属性去取值。
jumpheightway 2011-07-07
  • 打赏
  • 举报
回复
function checkEmp(userid){
var str;
$.ajax({
type:'post',
url:'checkEmp.action?chkUserid='+userid,
data:str,
datatype:'json',
success:function(data){alertResult(data);},//不进入alertResult方法
error:function(XMLResponse){alert(XMLResponse.responseText)}
});
alert("checkEmp返回:"+str);//此处弹出提示:undefined
}

这样试试
Go 旅城通票 2011-07-07
  • 打赏
  • 举报
回复
木懂得java,你直接用浏览器访问路径

checkEmp.action?chkUserid=123


看有输出没有,没有就是你的action没写对
kong_d_f 2011-07-07
  • 打赏
  • 举报
回复
自己顶
豆虫 2011-07-06
  • 打赏
  • 举报
回复
你没有向前台写响应啊

public void ajaxCheckEmp(){ //将类型改为void 
String str = "";
try {
str = aptOperatorBO.checkEmp(chkUserid);
System.out.println("str="+str);//此处已得到查询结果
response.getWriter().write(str);//向前台输出str
} catch (GenericBusinessException e) {
e.printStackTrace();
}
}

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧