请不要留恋
2017-05-04 00:47
采纳率: 100%
浏览 5.9k

$.ajax 中的 success : function(data) 函数中接收数据问题

这是我的ajax

 $(function() {
        var power;
        var html = "";
        $.ajax({
                    url : "../loginAction",
                    type : "post",
                    dataType : "text",
                    success : function(data) {
                                            alert("我是王晓思"+data);
                                            if (data != 1) {
                                                html += "<li><a href='../admin/userManage.jsp' target='frmright'><span>用户管理</span></a></li>"
                                                        +"<li><a href='../admin/powerManage.jsp' target='frmright'><span>权限管理</span></a></li>"
                                                        +"<li><a href='../admin/roleManage.jsp' target='frmright'><span>角色管理</span></a></li>"
                                                        +"<li><a href='../admin/modifyPassword.jsp' target='frmright'><span>修改密码</span></a></li>"
                                                        +"<li><a href='../admin/search.jsp' target='frmright'><span>统计查询</span></a></li>";
                                            }
                                            else if(data == 2){
                                            alert('函数执行2');

                                            }
                                            else if(data == 3){

                                            }
                                            else if(data == 4){

                                            }
                                $("#category").html(html);
                                }
                                        });
                    });

这是我的action
HttpServletResponse response = (HttpServletResponse)
ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE);
PrintWriter out = response.getWriter();
/*Map map = new HashMap();
map.put("power", "1");

JSONObject data =JSONObject.fromObject(map);*/
String data = "1";
out.println(data);
return "true";
然后我接受的数据不是 1 ,而是ajax所在的html页面,难受
图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • 75闪光雷 2017-05-04 01:35
    已采纳

    如果你return data返回的就是1了,return “true” 应该是true.jsp

    打赏 评论
  • 请不要留恋 2017-05-04 00:49
     HttpServletResponse response = (HttpServletResponse)
    ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE);
    PrintWriter out = response.getWriter();
    /*Map map = new HashMap();
    map.put("power", "1");
    
    JSONObject data =JSONObject.fromObject(map);*/
    String data = "1";
    out.println(data);
    return "true";
    
    打赏 评论
  • 请不要留恋 2017-05-04 00:49

    补充了一下action的代码格式,之前第一次上传代码,出了点儿问题

    打赏 评论
  • 你不是return true了吗,那个data 返回就是true啊,你这个显示的应该是$("#category").html(html);

    打赏 评论
  • cbh乔巴 2017-05-04 01:11

    action 设置拦截的全局。然后在xmlhttprequest 对象中插入js

    打赏 评论
  • 涩慕年华 2017-05-04 02:06

    设置一下返回类型,既然是ajax请求,就不要有返回值了,直接out.print(value)就可以了,再就是看看返回的头设置为json,或者你要的类型,
    或者可以直接在类上用注解@ResposeBody

    打赏 评论
  • gao- 2017-05-04 02:21

    用ajax 后台action 就out.println(data);就可以了,并不用return 了,return 是返回一个页面

    打赏 评论
  • 请不要留恋 2017-05-04 03:44

    谢谢大佬们,问题解决了。我把这段代码单独拿出来放进一个函数就解决了

    打赏 评论
  • qq_42575969 2019-07-04 20:16

    把printwrite 给close()了 就行了

    打赏 评论

相关推荐 更多相似问题