ajax中return不起作用

jsp页面:

// 这里只给出重要部分....
// js部分
    $(function(){
            $("#name").blur(function() {
                var value = $("#name").val();
                // 使用ajax发送请求
                $.ajax({
                      url: "AjaxServlet", 
                      cache: false, 
                      data: "name="+value, 
                      async: true,
                      dataType: "json", 
                      success: function(result){ 
                          if(result){
                              console.log("ajax 请求结果为 true");
                              return true;
                          }
                      }
                })
                console.log("ajax 执行完毕!");
            });
        })
// 表单
    <form action="AjaxServlet" method="post">
        姓名:<input type="text" id="name" >
    </form>

servlet部分代码:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");

        boolean b = false;

        if(name.equals("aaa")) {
            b = true;
        }else {
            b = false;
        }   
        response.getWriter().print(b); 
    }

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



当async为true时访问结果为
这里写图片描述

当async为false时访问结果为
这里写图片描述



困惑
第一个结果能理解,async为true表示ajax和成功处理函数是异步执行的,也就说有可能ajax请求处理函数还没有执行,就执行ajax请求后面的程序(也就是输出”ajax 执行函数”),所以ajax请求中的return 不起作用。
第二个结果就不清楚了,async为false表示程序不是异步执行的,也就是说,想要执行ajax请求后面的程序,就得等到ajax请求执行完毕。那为什么ajax请求中return 还是不起作用呢?

求解答!



更新:其实结果是正常的,只是自己理解错了!谢谢那些想帮助我但是又没有帮助到的人。给你们每人一个大红花!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值