美文网首页
Ajax 和 Bootstrap

Ajax 和 Bootstrap

作者: 文化银儿 | 来源:发表于2018-08-28 17:08 被阅读0次

    1、ajax

    (1)是什么?
    Asynchronous Javascript And XML
    (2)上网怎么上的?
    客户端:浏览器,前端(html、css、js、jquery)
    服务端:现成的,比如百度、csdn等,后端(php、java、python)
    有网
    上网就是客户端向服务端发送请求,然后获取到服务端数据的过程
    你是通过url的切换实现的,url就是网址,来得到不同的内容
    (3)ajax:在不刷新整个页面的前提下,完成了和服务端的交互,也就更新了网页里面的内容,一般都是局部更新

    <!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>和服务端交互</title>
    </head>
    <body>
        用户名:<input type="text" name="user" id="user">
        <br>
        会员等级:<input type="text" name="level" id="level">
        <br>
        会员余额:<input type="text" name="money" id="money">
        <br>
        会员年限:<input type="text" name="year" id="year">
        <br>
        <button id="btn">点我获取内容</button>
    </body>
    </html>
    <script>
    // 获取按钮
    var obtn = document.getElementById('btn')
    // 找到每一个input
    var ouser = document.getElementById('user')
    var olevel = document.getElementById('level')
    var omoney = document.getElementById('money')
    var oyear = document.getElementById('year')
    // 添加点击事件
    obtn.onclick = function () {
        // 和服务端交互, 创建ajax对象来交互
        var xhr = new XMLHttpRequest()
        xhr.open('get', 'ziliao0.php')
        xhr.send()
    
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4) {
                if (xhr.status == 200) {
                    // console.log(xhr.responseText)
                    // 将其转化为js对象
                    obj = JSON.parse(xhr.responseText)
                    ouser.value = obj.name
                    olevel.value = obj.level
                    omoney.value = obj.money
                    oyear.value = obj.year
                }
            }
        }
    }
    </script>
    

    (4)应用:nba直播,文字直播,用户注册,不更新页面加载下一页数据
    (5)ajax怎么使用?
    (1)原生js实现

    <!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>ajax实现</title>
    </head>
    <body>
        
    </body>
    </html>
    <script>
    // 原生的js实现ajax的技术
    // 创建对象,
    // XMLHttpRequest是高级浏览器创建ajax对象的方式
    // IE8以下的创建方式不一样,只需了解即可
    var xhr = new XMLHttpRequest()
    // 和后端进行交互,交互的方式有两种,pc端:get、post  移动端:get、post、put、delete等
    // 发送get请求 
    // 参数1:请求方式
    // 参数2:处理这个请求的文件,或者url
    // 这样就将请求发送过去了
    // xhr.open('get', 'url')
    // xhr.send()
    
    // post方式如何发送
    xhr.open('post', 'url')
    // 发送post,必须要添加这个东西
    xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
    // 在发送send的时候,需要将要传递的参数写进来
    xhr.send('name=狗蛋&password=123')
    
    // 服务端返回数据给你,要使用下面的代码
    // ajax在发送请求的时候,状态会改变,会触发这个事件
    xhr.onreadystatechange = function () {
        // 4是固定的,代表的意思是请求发送成功
        if (xhr.readyState == 4) {
            // 当响应也成功的时候,就可以获取数据了,去判断响应状态码  404
            if (xhr.status == 200) {
                // 获取响应的内容
                var content = xhr.responseText
                // 响应内容一般都是json格式的字符串
                // 你的工作就是解析json字符串,将内容填充到html中
                // 首先将json格式字符串转化为js对象
                var obj = JSON.parse(content)
                // var obj = eval('(' + content + ')')
            }
        }
    }
    </script>
    
    (2)jquery封装好的函数的用法
    'content-type', 'application/x-www-form-urlencoded'
    setRequestHeader
        onreadystatechange
    readyState
    status
    responseText
    
    <!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>用户注册</title>
        <script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
    </head>
    <body>
        <h1>你好,世界!</h1>
        <input type="text" name="user" id="user">
        <span id="usertip"></span>
    </body>
    </html>
    <script>
    $(function () {
        $('#user').blur(function () {
            // 通过ajax将内容传递给服务端,服务端判断之后,给你个状态,你再去对应的修改你的内容
            $.ajax({
                type: "POST",
                url: "zhuce.php",
                data: "name=" + $(this).val(),
                success: function(msg){
                    // msg就是服务端给你的内容
                    var obj = JSON.parse(msg)
                    if (obj.state == 1) {
                        $('#usertip').html('√').css('backgroundColor', 'green')
                    } else {
                        $('#usertip').html('该用户已经注册').css('backgroundColor', 'red')
                    }
                }
            });
        })
    })
    </script>
    

    2、bootstrap

    (1)是什么?
    Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。
    (2)如何实现pc端和手机端显示的都非常漂亮?
    (1)布局两套,样式,大公司都是这么做的,淘宝、京东
    (2)响应式布局,根据设备的变化,来改变你的尺寸
    1、不能使用px布局。rem,相对单位,是用来相对于html字体的
    html {font-size: 20px;}
    在你的页面中 1rem = 1*20px; 2rem = 40px; 0.5rem = 10px;
    2、使用框架,比如bootstrap

    <!DOCTYPE html>
    <html lang="zh-CN">
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
        <title>起步</title>
    
        <!-- Bootstrap -->
        <link href="dist/css/bootstrap.min.css" rel="stylesheet">
      </head>
      <body>
        <div class="container" style="height:100px; background-color:blue"></div>
        <div class="container-fluid" style="height:100px; background-color:red">
            <div class="row">
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
                <div class="col-md-1">.col-md-1</div>
            </div>
            <div class="row" style="height:50px; background-color:red">
                <div class="col-md-8" style="height:50px; background-color:cyan">.col-md-8</div>
                <div class="col-md-4" style="height:50px; background-color:orange">.col-md-4</div>
            </div>
            <div class="row">
                <div class="col-md-4">.col-md-4</div>
                <div class="col-md-4">.col-md-4</div>
                <div class="col-md-4">.col-md-4</div>
            </div>
            <div class="row" style="height:200px; background-color:orange">
                <div class="col-xs-12 col-md-8" style="height:200px; background-color:green">.col-xs-12 .col-md-8</div>
                <div class="col-xs-6 col-md-4" style="height:200px; background-color:purple">.col-xs-6 .col-md-4</div>
            </div>
        </div>
    
    
        <table class="table table-hover">
                <thead>
                  <tr>
                    <th>#</th>
                    <th>First Name</th>
                    <th>Last Name</th>
                    <th>Username</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <th scope="row">1</th>
                    <td>Mark</td>
                    <td>Otto</td>
                    <td>@mdo</td>
                  </tr>
                  <tr>
                    <th scope="row">2</th>
                    <td>Jacob</td>
                    <td>Thornton</td>
                    <td>@fat</td>
                  </tr>
                  <tr>
                    <th scope="row">3</th>
                    <td>Larry</td>
                    <td>the Bird</td>
                    <td>@twitter</td>
                  </tr>
                </tbody>
              </table>
        
              <form>
                    <div class="form-group">
                      <label for="exampleInputEmail1">Email address</label>
                      <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
                    </div>
                    <div class="form-group">
                      <label for="exampleInputPassword1">Password</label>
                      <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
                    </div>
                    <div class="form-group">
                      <label for="exampleInputFile">File input</label>
                      <input type="file" id="exampleInputFile">
                      <p class="help-block">Example block-level help text here.</p>
                    </div>
                    <div class="checkbox">
                      <label>
                        <input type="checkbox"> Check me out
                      </label>
                    </div>
                    <button type="submit" class="btn btn-default">Submit</button>
                  </form>
            
        <span class="glyphicon glyphicon-hand-down"></span>
    
        <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
        <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
        <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
        <script src="dist/js/bootstrap.min.js"></script>
      </body>
    </html>
    

    相关文章

      网友评论

          本文标题:Ajax 和 Bootstrap

          本文链接:https://www.haomeiwen.com/subject/hvsqwftx.html