登录  /  注册
博主信息
博文 41
粉丝 0
评论 0
访问量 28602
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0522作业2019年5月24日 10:03:11
Viggo的博客
原创
586人浏览过

$.get 以get方式获取数据 缺点是大数量的时候不建议使用 和javascript的方式类似

$.post 以post方式获取数据 支持大数据量 和javascript的方式类似 都是以数据头的方式提交

$.getJSON 以get方式获取json数据

$.ajax 是上面3种方式的一个综合体 拥有上面3种功能集合 但参数是对象字面量且键名是预置好的,不能改变。


GET:

实例

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>$.get</title>
</head>
<body>
<label for="school">请选择:</label>
<select name="school" id="school"></select>
<p id="detail"></p>

<script src="static/js/jquery-3.4.1.js"></script>
<script>
    // 因为是GET请求对请求的数据没有什么要求 所以第二个参数可以不填写 直接填第3个参数
    $.get('inc/school.php',function(data,status){
        if (status === 'success') {
            // console.log(data);
            // console.log(status);
            $('#school').html(data);    // 另一种写法
        }
    });




    /***********************************************************/

    $('#school').on('change', getData);

    function getData(event) {
        // serialize(): 请表单中的信息以键值对的形式返回
        // console.log($(this).serialize()); //输出 school = *
        console.log($(event.target).val());  //输出 * 没有 school =
        // console.log($(event.target).serialize()); //输出 school = *

        $.get(
            //第一个参数 url
            'inc/detail.php',
            // 第二个参数 发送请求的数据 用对象字面量的形式发送
            {key:$(event.target).val()},
            // 第三个参数 回调函数 有三个参数 获取到的数据 状态字串符 xhr对象 前2个参数必填
            function (data,status) {
                if (status === 'success'){
                    $('#detail').html(data);
                    $('[value=""]').remove();
                }else {
                    $('#detail').html('获取内容失败')
                }
            }
        )
    }




</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


POST:

实例

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>$.post</title>
</head>
<body>

<h3>用户登录$.post()</h3>
<p><label for="email">邮箱:</label><input type="email" id="email" name="email"></p>
<p><label for="password">邮箱:</label><input type="password" id="password" name="password"></p>
<p><button id="submit">提交</button></p>

<script src="jquery-3.4.0.js"></script>
<script>
    var email = $('#email');
    var password = $('#password');
    var btn = $('#submit');

    btn.on('click',isEmpty);


    function isEmpty() {
        var $temp1 = email.val().trim();
        var $temp2 = password.val().trim();
        if ($temp1.length === 0){
            email.after('<span style="color: red;"> 请输入用户名</span>');
            email.focus();
        }else if ($temp2.length === 0){
            password.after('<span style="color: red;"> 请输入密码</span>');
            password.focus();
        }else if ($temp2.length < 6){
            password.after('<span style="color: red;"> 密码不能少于6位</span>');
            password.focus();
        }else {
            // 上面验证通过以后 再把数据发送给服务器验证
            checkUser();
        }

    }

    function checkUser() {
        // 发送数据的方式用$.post(url,data,function(){.....})
        $.post(
            // 1.地址
            'inc/check.php',

            // 2.提交的数据 支持字符串 也可以用字面量的方式提交
            // 字串符类型  'email=值'&'password=值';
            {
                email:email.val().trim(),
                password:password.val().trim()
            },

            function (data) {
                console.log(data);
                console.log(data.status);
                if (data.status === 1){
                    btn.after('<span style="color: green;"> 验证通过,正在跳转..</span>');
                } else {
                    btn.after('<span style="color: red;"> 用户名或密码错误</span>');
                }
            },
            'json'
        )
    }

</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Ajax:

实例

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>$.ajax</title>
</head>
<body>

<h3>用户登录$.ajax()</h3>
<p><label for="email">邮箱:</label><input type="email" id="email" name="email"></p>
<p><label for="password">邮箱:</label><input type="password" id="password" name="password"></p>
<p><button id="submit">提交</button></p>

<script src="jquery-3.4.0.js"></script>
<script>
    var email = $('#email');
    var password = $('#password');
    var btn = $('#submit');

    btn.on('click',isEmpty);


    function isEmpty() {
        var $temp1 = email.val().trim();
        var $temp2 = password.val().trim();
        if ($temp1.length === 0){
            email.after('<span style="color: red;"> 请输入用户名</span>');
            email.focus();
        }else if ($temp2.length === 0){
            password.after('<span style="color: red;"> 请输入密码</span>');
            password.focus();
        }else if ($temp2.length < 6){
            password.after('<span style="color: red;"> 密码不能少于6位</span>');
            password.focus();
        }else {
            // 上面验证通过以后 再把数据发送给服务器验证
            checkUser();
        }

    }

    function checkUser() {
        // ajax的参数是对象字面量 键名是预置好的不能更改 共20多种 常用的就几种
        $.ajax({
            // 连接的地址
            url:'inc/check.php',
            // 发送的数据类型
            type:'post',
            // 发送的数据用对象字面量形式发送 会自动转换成&分割的字串符
            data:{email:email.val(),password:password.val()},
            // 获取数据的类型
            dataType:'json',
            // 成功后的回调函数 函数内的参数是收到的数据
            success:function (data) {
                console.log(data);
                if (data.status === 1){
                    // $('#submit').after('<span style="color: green">验证通过,正在跳转..</span>');
                    $('#submit').after('<span style="color: green">'+ data.message +'</span>');
                }else {
                    $('#submit').after('<span style="color: red">'+ data.message +'</span>');
                }

            }
            }

        )
    }

</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

getjson:

实例

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>$.getJSON</title>
</head>
<body>
<label for="school">请选择:</label>
<select name="school" id="school"></select>
<p id="detail"></p>

<script src="static/js/jquery-3.4.1.js"></script>
<script>
    // 只能读取JSON格式的数据,和get类型类似get可以设置第四个参数获取文件的格式
    $.getJSON('inc/school.json',function (data,status) {
        if (status === 'success'){
            // console.log(data);
            // for (var i = 0; i < data.length; i++) {
            //     $('<option></option>').attr('value',i).text(data[i]).appendTo('#school');
            //     // console.log(data[i]);
            // }
            $.each(data,function (index) {
                $('<option></option>').attr('value',index).text(data[index]).appendTo('#school');
            })
        }


    });




    /***********************************************************/

    $('#school').on('change', getData);

    function getData(event) {
        // serialize(): 请表单中的信息以键值对的形式返回
        // console.log($(this).serialize()); //输出 school = *
        console.log($(event.target).val());  //输出 * 没有 school =
        // console.log($(event.target).serialize()); //输出 school = *

        $.get(
            //第一个参数 url
            'inc/detail.php',
            // 第二个参数 发送请求的数据 用对象字面量的形式发送
            {key:$(event.target).val()},
            // 第三个参数 回调函数 有三个参数 获取到的数据 状态字串符 xhr对象 前2个参数必填
            function (data,status) {
                if (status === 'success'){
                    $('#detail').html(data);
                    $('[value=""]').remove();
                }else {
                    $('#detail').html('获取内容失败')
                }
            }
        )
    }




</script>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学