zoukankan      html  css  js  c++  java
  • 从零开始学 Web 之 Ajax(六)jQuery中的Ajax

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新......

    在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!

    一、jQuery中的Ajax

    前面我们写了这么多 Ajax 的代码,其实都是基于 js 的原生代码,在 jQuery 的内部,对 Ajax 已经进行了封装,它提供了很多方法可以供开发者进行调用。不过这些封装都是基于一个方法的基础上进行的修改,这个方法就是$.ajax()

    我们主要学习3个方法:

    • $.ajax();
    • $.get();
    • $.post();

    1、$.ajax()

    $.ajax() 和 自己的 myAjax2() 使用起来非常的相似,基本上原理一致。同样是传入一个对象,有些参数不传递的话也有默认值。

    // 其他代码省略
    userObj.blur(function () {
      $.ajax({
        url: "./server/checkUsername.php",
        type: "get",
        data: {uname: this.value},
        success: function (result) {
          if(result == "ok") {
            userSpanObj.text("用户名可用");
          } else if(result == "error") {
            userSpanObj.text("用户名不可用");
          }
        }
      });
    });
    

    2、$.get() 和 $.post

    只需要传两个参数,第一个参数是url(带param的,里面有参数和值),第二个参数是回调函数。

    // $.get()
    $.get(url + "?" + params, function (result) {});
    // $.post()
    $.post(url, {参数: 值}, function(result) {});
    

    示例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
    <div id="dv">
        <h1>用户注册</h1>
        用户名:<input type="text" name="username"><span id="user-span"></span><br>
        邮箱:<input type="text" name="email"><span id="email-span"></span><br>
        手机:<input type="text" name="phone"><span id="phone-span"></span><br>
    </div>
    <script src="jquery-1.12.4.min.js"></script>
    <script>
        // 获取所有元素
        var userObj = $("input[name='username']");
        var emailObj = $("input[name='email']");
        var phoneObj = $("input[name='phone']");
    
        var userSpanObj = $("#user-span");
        var emailSpanObj = $("#email-span");
        var phoneSpanObj = $("#phone-span");
    
        //用户名文本框失去焦点事件
        userObj.blur(function () {
            $.get("./server/checkUsername.php?uname=" + $(this).val(), function (result) {
                if (result == "ok") {
                    userSpanObj.text("用户名可用");
                } else if (result == "error") {
                    userSpanObj.text("用户名不可用");
                }
            });
        });
    
        //邮箱文本框失去焦点事件
        emailObj.blur(function () {
            $.post("./server/checkEmail.php", {e: $(this).val()}, function (result) {
                if (result == 0) {
                    emailSpanObj.text("邮箱可用");
                } else if (result == 1) {
                    emailSpanObj.text("邮箱不可用");
                }
            });
        });
    
        //手机号文本框失去焦点事件
        phoneObj.blur(function () {
            $.post("./server/checkPhone.php", {phonenumber: $(this).val()}, function (result) {
                result = JSON.parse(result);
                if (result.status == 0) {
                    phoneSpanObj.text(result.message.tips + " " + result.message.phonefrom);
                } else if (result.status == 1) {
                    phoneSpanObj.text(result.message);
                }
            });
        });
    </script>
    </body>
    </html>
    

  • 相关阅读:
    读书笔记--SQL必知必会07--创建计算字段
    读书笔记--SQL必知必会06--用通配符进行过滤
    读书笔记--SQL必知必会05--高级数据过滤
    FontMetrics ----- 绘制文本,获取文本高度
    Android 防止控件被重复点击
    提高zxing生成二维码的容错率及zxing生成二维码的边框设置
    Android 异常解决方法【汇总】
    setFocusable、setEnabled、setClickable区别
    getView 数据最后加一项
    TextView字体和背景图片 设置透明度
  • 原文地址:https://www.cnblogs.com/lvonve/p/9343190.html
Copyright © 2011-2022 走看看