JQuery对ajax的支持 $.ajax $.get $.post load serialize

JQuery也有对AJAX的支持,使得其对AJAX的操作简化了很多。

  • 提交AJAX请求

    参考 使用AJAX 通过无刷新验证账号是否存在 这个例子,服务端使用JSP进行验证,当用户输入abc的时候提示"已经存在"
    完整的 $.ajax 参数 比较复杂,这里采用了常见的调用方式。
    $.ajax({
       url: page,
       data:{"name":value},
       success: function(result){
          $("#checkResult").html(result);
       }
    });
    $.ajax采用参数集的方式 {param1,param2,param3} 不同的参数之间用,隔开
    第一个参数 url:page 表示访问的是page页面
    第二个参数 data:{name:value} 表示提交的参数
    第三个参数 success: function(){} 表示服务器成功返回后对应的响应函数
    <script src="jquery.min.js"></script>
     
    <div id="checkResult"></div>
      
    输入账号 :<input id="name" type="text">
      
    <script>
    $(function(){
       $("#name").keyup(function(){
         var page = "checkName.jsp";
         var value = $(this).val();
            $.ajax({
                url: page,
                data:{"name":value},
                success: function(result){
                  $("#checkResult").html(result);
                }
            });
       });
    });
     
    </script>
  • 使用get方式提交ajax

    $.get 是 $.ajax的简化版,专门用于发送GET请求 
    $.get(
                page,
                {"name":value},
                function(result){
                  $("#checkResult").html(result);
                }
    );
    $.get 使用3个参数
    第一个参数: page 访问的页面
    第二个参数: {name:value} 提交的数据
    第三个参数: function(){} 响应函数
    只有第一个参数是必须的,其他参数都是可选
    <script src="jquery.min.js"></script>
     
    <div id="checkResult"></div>
      
    输入账号 :<input id="name" type="text">
      
    <script>
    $(function(){
       $("#name").keyup(function(){
         var page = "checkName.jsp";
         var value = $(this).val();
     
            $.get(
                page,
                {"name":value},
                function(result){
                  $("#checkResult").html(result);
                }
            );
       });
    });
     
    </script>
  • 使用post方式提交ajax

    $.post 是 $.ajax的简化版,专门用于发送POST请求 
    $.post(
        page,
        {"name":value},
        function(result){
            $("#checkResult").html(result);
        }
    );
    $.post 使用3个参数
    第一个参数: page 访问的页面
    第二个参数: {name:value} 提交的数据
    第三个参数: function(){} 响应函数
    只有第一个参数是必须的,其他参数都是可选
    <script src="jquery.min.js"></script>
      
    <div id="checkResult"></div>
       
    输入账号 :<input id="name" type="text">
       
    <script>
    $(function(){
       $("#name").keyup(function(){
         var page = "checkName.jsp";
         var value = $(this).val();
      
            $.post(
                page,
                {"name":value},
                function(result){
                  $("#checkResult").html(result);
                }
            );
       });
    });
      
    </script>
  • 最简单的调用ajax的方式

    load比起 $.get,$.post 就更简单了 
    $("#id").load(page,[data]); 
    id: 用于显示AJAX服务端文本的元素Id 
    page: 服务端页面 
    data: 提交的数据,可选。 在本例中,直接在page里加上了参数列表
    <script src="jquery.min.js"></script>
       
    <div id="checkResult"></div>
        
    输入账号 :<input id="name" type="text">
        
    <script>
    $(function(){
       $("#name").keyup(function(){
         var value = $(this).val();
         var page = "checkName.jsp?name="+value;
         $("#checkResult").load(page);
       });
    });
       
    </script>
  • 格式化form下的输入数据

    serialize(): 格式化form下的输入数据
    有的时候form下的输入内容比较多,一个一个的取比较麻烦,就可以使用serialize() 把输入数据格式化成字符串
    <script src="jquery.min.js"></script>
        
    <div id="checkResult"></div>
    <div id="data"></div>
    <a href="checkName.jsp">checkName.jsp</a>
     
    <form id="form">   
    输入账号 :<input id="name" type="text" name="name"> <br>
    输入年龄 :<input id="age" type="text" name="age"> <br>
    输入手机号码 :<input id="mobile" type="text" name="mobile"> <br>
         
    </form>
     
    <script>
    $(function(){
       $("input").keyup(function(){
          var data = $("#form").serialize();
          var url = "checkName.jsp";
          var link = url+"?"+ data;
          $("a").html(link);
          $("a").attr("href",link);
       });
    });
        
    </script>
    1.
    // 加载http://localhost/index.php的html内容来替换当前文档的每一个div元素
    // jQuery会过滤掉该文档中的DOCTYPE以及html、head、body标签后再进行替换(以免与当前文档的标签起冲突)
    $("div").load("http://localhost/index.php");


    // 由于当前文档没有p元素,因此它什么也不做,既不会发送Ajax请求,也不会执行回调函数(如果有回调函数的话)
    $("p").load("http://localhost/index.php");

    2.
    // 加载http://localhost/index.php?id=2的html内容
    // 只使用其中id为site-title的元素来替换所有div元素
    $("div").load("http://localhost/index.php?id=2 #site-title");

    3.
    // 请分别执行以下三个加载方法


    // 也可将URL直接写为:"action.php?id=5&username=CodePlayer&age=15"
    $("div").load("action.php?id=5", "username=CodePlayer&age=15");
    


    // 由于数据是对象形式,因此自动转为POST方式
    $("div").load("action.php?id=5", { username: "CodePlayer", age: 15 });

    // 由于数据是对象形式,因此自动转为POST方式
    // 注意: new String("username=CodePlayer&age=15") 也是一个Object对象,会使用POST方式
    $("div").load("action.php?id=5", { username: "CodePlayer", age: 15 }, function(responseText, textStatus, jqXHR){
        // responseText 是响应(返回)的原始文本数据
        // textStatus 可能是 "success"、 "notmodified"、 "error"、 "timeout"、 "abort"或"parsererror"中的一个
        // jqXHR 是经过jQuery封装的XMLHttpRequest对象(保留其本身的所有属性和方法)
        if(textStatus == "success" || textStatus == "notmodified"){
            alert("加载成功!");
        }
    });



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值