struts2 利用json返回数据,前台一直得不到后台的数据

zhangrongchao_ 2015-01-04 08:42:50
前台js代码:
JavaScript code
function loginIn(autoFlag){
$.post("loginDo.action",
{
username:$("[name=\"username\"]").val(),
password:$("[name=\"password\"]").val(),
autoLogin:autoFlag
},function(data){
alert(data);
if(data.resCode=="000"){
location.href="<%=basePath%>jsp/success.jsp";
}else if(data.resCode=="999"){
$("#loginErr").html("<font style='size:3px;color:red'>× 用户名或密码错误</font>");
}

},"json" );
};


struts.xml代码

<package name="personnelManager" extends="json-default">
<action name="loginDo" class="com.sky.action.LoginAction" method="login">
<result type="json">
<param name="root">resCode</param>
</result>

</action>
</package>




后台LoginAction.java代码

public class LoginAction extends ActionSupport {
private String username;
private String password;
private String resCode;
private String autoFlag;

public String getAutoFlag() {
return autoFlag;
}
public void setAutoFlag(String autoFlag) {
this.autoFlag = autoFlag;
}
public String getResCode() {
return resCode;
}
public void setResCode(String resCode) {
this.resCode = resCode;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}


public String login(){
LoginDao loginDao = new LoginDao();
Users user = loginDao.userQuery(username, password);
if (user != null){
resCode = Constants.success;
}else{
resCode = Constants.fail;
}

System.out.println(resCode);
return resCode;
}

}




其中resCode是能正常被设置为’000‘,就是说传入的数据全部正常,经过处理得到的数据也正常,但就是’000‘没法返回到前台。
firebug中显示如下

因此就不回调到function(data)中执行其他操作,
请问问题出在哪?
...全文
266 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnkol_ck 2015-12-03
  • 打赏
  • 举报
回复
谢谢,非常不错
zhangrongchao_ 2015-01-04
  • 打赏
  • 举报
回复
引用 7 楼 u012576250 的回复:
AJAX请求ACTION,不是让ACTION用return返还的,而是response.getWriter().write(Json);你能明白么?
搞定了,感激不尽
tony4geek 2015-01-04
  • 打赏
  • 举报
回复
zhangrongchao_ 2015-01-04
  • 打赏
  • 举报
回复
引用 7 楼 u012576250 的回复:
AJAX请求ACTION,不是让ACTION用return返还的,而是response.getWriter().write(Json);你能明白么?
你好,你帮我把正确的代码写一下给我么,我按照你之前说的还是没搞出来,感激不尽
七脉 2015-01-04
  • 打赏
  • 举报
回复
AJAX请求ACTION,不是让ACTION用return返还的,而是response.getWriter().write(Json);你能明白么?
zhangrongchao_ 2015-01-04
  • 打赏
  • 举报
回复
引用 4 楼 u012171905 的回复:
你没有把数据转成json
struts2不是会自动帮我们把Action中的属性转为json格式么
zhangrongchao_ 2015-01-04
  • 打赏
  • 举报
回复
引用 2 楼 tianfang 的回复:
js 代码问题 data没有赋值
js里面的data不是回调函数的内容么,就应该是后台返回过来的值,应该不用赋值呀
Coder_D 2015-01-04
  • 打赏
  • 举报
回复
你没有把数据转成json
zhangrongchao_ 2015-01-04
  • 打赏
  • 举报
回复
引用 1 楼 rui888 的回复:
你要返回的是json 格式 。你看看你返回的。
你是指我return resCode 而resCode不是json格式么?但是struts2不是会自动帮我们将Action中的属性自动封装为json类型么?
tianfang 2015-01-04
  • 打赏
  • 举报
回复
js 代码问题 data没有赋值
tony4geek 2015-01-04
  • 打赏
  • 举报
回复
你要返回的是json 格式 。你看看你返回的。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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