日期:2014-05-18  浏览次数:20591 次

html登录,不能接收服服务返回数据
我做了个登录,用ajax把登录信息发送到客户端,服务器端用struts处理数据,登录成功后将user以json格式返回,jsp页面可以拿到数据,但是我用html页面确不可以拿到返回的数据,这是怎么回事啊?

jsp页面,ajax:

$('#submit').click(function(){
var json = $("#form1").serialize();
url:"${pageContext.request.contextPath}/user_login.action",
type:"get",
async:true,
data:json,
success:function(data,textStatus){
alert(data);
},
error:function(XMLHttpRequest,textStatus,errorThrown){
alert("请求出错啦。。。");
}
});
});




服务器端:

public String login() throws IOException {

System.out.println(user.getUsername()+"----"+user.getPassword());
// 调用业务层
User loginUser = userService.login(user);
// 判断是否登陆成功
if (loginUser == null) {
// 登陆失败
response.getWriter().write("用户不存在!");
return "login";
} else {
// 登陆成功
session.setAttribute("user", loginUser);
System.out.println("-----------------------------------");
System.out.println(user.getUsername()+"----"+user.getPassword());
ActionContext.getContext().put("loginUser", loginUser);
return "loginSUCCESS";
}
}


struts配置:

<action name="user_*" class="userAction" method="{1}">
<result name="loginSUCCESS" type="json">
<param name="root">#loginUser</param>
</result>


------解决方案--------------------
html页面没有${pageContext.request.contextPath}
------解决方案--------------------
http://192.168.1.101/test_server/user_login.action?username=admin&password=123

firebug 可以获取数据?
------解决方案--------------------

public String login() throws IOException {

System.out.println(user.getUsername()+"----"+user.getPassword());
// 调用业务层
User loginUser = userService.login(user);
// 判断是否登陆成功
if (loginUser == null) {
// 登陆失败
response.getWriter().write("用户不存在!");
return "login";
} else {
// 登陆成功
session.setAttribute("user", loginUser);
System.out.println("-----------------------------------");
System.out.println(user.getUsername()+"----"+user.getPassword());
ActionContext.getContext().put("loginUser", loginUser);
return "loginSUCCESS";
}
}

既然用json就去掉return "loginSUCCESS";方法改成 void
struts的xml配置文件配置成接受json
格式的
------解决方案--------------------
引用:

public String login() throws IOException {

System.out.println(user.getUsername()+"----"+user.getPassword());
// 调用业务层
User loginUser = userService.login(user);
// 判断是否登陆成功
if (loginUser == null) {
// 登陆失败
response.getWriter().write("用户不存在!");
return "login";
} else {
// 登陆成功
session.setAttribute("user", loginUser);
System.out.println("-----------------------------------");
System.out.println(user.getUsername()+"----"+user.