JQuery调用Ajax异步传输接受Servlet的回应数据的类型

6 篇文章 0 订阅
3 篇文章 0 订阅

我们在web中使用jQuery封装的ajax时
可以执行回调函数
但是这个回调函数是要接受固定的数据类型的

在servlet后台中
我们熟知的传输类型一般就是

  1. text
  2. json

当然这是传输给jQuery的
如果使用的是jsp
就是另外一回事了

目前为止我还没有具体测试过servlet能否传输java的几种基本类型
以及能否传输已经封装过的类

但是大部分的数据都可以通过text以及json来实现

示例代码:

JavaScript部分:




        function ajax_login(){

            var way = ""

            if(document.getElementById("button_user").style.color == 'rgb(229, 154, 0)'){
                way = "user_login";
            }else{
                way = "merchant_login"
            }

            var username_email_mobilephne = document.getElementById("login_username_email_mobilephone").value;
            var password = document.getElementById("login_password").value;

            $.ajax({
                        url: "../MedicatedDietHallServlet", //要请求的服务器url 
                        data: {
                            username_email_mobilephne: username_email_mobilephne,
                            password: password,
                            way: way
                        },
                        async: true,
                        cache: false,
                        type: "GET",
                        dataType: "text",
                        success: function(result) {
                            if(result == "true") {
                                window.location.href="home.html";
                            } else {
                                alert("你的用户名/邮箱/手机号或密码错误");
                            }
                        },
                        error: function(){
                            alert("连接服务器或返回数据失败");
                        }
                    })
        }

Java部分:

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        System.out.println("某用户以GET方式连接Servlet成功");

//      response.setContentType("text/html;charset=utf-8");
//      request.setCharacterEncoding("utf-8");
//      String username=URLDecoder.decode(request.getParameter("username"),"utf-8");

        if(request.getParameter("way").equals("user_register")){

            Id_maker id_maker = new Id_maker();
            User user = new User(
                    id_maker.makeId(),
                    request.getParameter("username"),
                    request.getParameter("email"),
                    request.getParameter("mobilephone"),
                    request.getParameter("password")
                    );  
            user.showMyself();

            Sqlserver_People_Controller controller = new Sqlserver_People_Controller(); 
            controller.user_register(user);

            response.getWriter().print("true");

        }else if(request.getParameter("way").equals("user_login")){

            Sqlserver_People_Controller controller = new Sqlserver_People_Controller();


            User user = null;
            user = controller.user_login(request.getParameter("username_email_mobilephne"));

            if(user!=null && user.getPassword().equals(request.getParameter("password"))){
                user.showMyself();
                userNumber++;
                response.getWriter().print("true");
            }else{
                response.getWriter().print("false");
            }
        }


    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值