Ajax-GET基本使用

为了前端与后台进行交互,我们使用ajax来完成这些功能。

我们首先了解,什么是ajax?

Asynchronous JavaScript and XML

通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新,可以局部刷新而不必整个页面整体刷新。

如何与服务器进行数据交换?

首先,需要自己搭建服务器,在服务端的环境中可运行PHP语言

从网页进入服务器有三种基本方式:

1.   localhost:+端口号
2.   127.0.0.1+端口号
3.   ip+端口号

然后,和服务器端的php页面建立联系

其请求方式有get和post

如下例子:在html页面中的form表单中,与 05.php 建立联系 ,数据传递方式为GET

    <h1>通过get方式提交表单</h1>
    <form action="05.php" method="GET">
        <input type="text" placeholder="请输入用户名" name="userName">
        <br>
        <input type="text" placeholder="请输入技能" name="userSkill">
        <br>
        <input type="submit">
        <button>提交</button>
        <!-- <input type="image" src=""> -->
    </form>

下面是05.php页面的内容:

<?php
    echo "这个为get提交的页面";


    // $_GET[]   get提交方式从前台传递过来的数据

    echo "<br>";
    echo $_GET['userName'];
    echo "<br>";
    echo $_GET['userSkill'];
    echo "<br>";
    echo '<h1>'.$_GET['userName'].'欢迎你</h1>';   //在php中字符串拼接使用的是.
?>

效果如图所示:

post方法只改变

html页面中<form action="06.php" method="POST">

PHP页面中echo $_POST['userName'];

 

Ajax-GET基本使用其步骤可分为:

1创建一个异步对象

2.设置请求方式和请求地址

3.发送请求

4.监听状态变化

5.处理返回结果

如下例子:

首先创建01.html和01.php

在body中制作一个按钮

<button id="btn">验证</button>

在<script>中获取

var btn = document.getElementById("btn");

创建点击事件,点击btn发送ajax请求

第一步:创建ajax对象

 btn.onclick = function(){
        // 第一步:创建ajax对象
        var xhr;
        if(window.XMLHttpRequest){    
            //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
            xhr = new XMLHttpRequest();
        }else{   
             // IE6, IE5 浏览器执行代码
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }

第二步:设置请求方式和请求地址

      /* method:请求的类型;GET 或 POST
         url:文件在服务器上的位置
         async:true(异步)或 false(同步)*/
        xhr.open('GET','01.php',true);
        // 第一个是请求方式,第二个是请求地址,第三个是选择异步(及ajax永远都选true)

第三步:发送请求

      xhr.send(null);
      //如果是post请求,就放post参数,如果是get请求,发送null就行了 

第四步:监听状态变化

                          响应码参考 https://blog.csdn.net/ddhsea/article/details/79405996

                                                                       •0: 请求未初始化
                                                                       •1: 服务器连接已建立
                                                                       •2: 请求已接收
                                                                       •3: 请求处理中
                                                                       •4: 请求已完成,且响应已就绪
         
         xhr.onreadystatechange=function() {
                  //已经响应
             if(xhr.readyState==4){
                 //判断是否响应成功
              if(xhr.status>=200&&xhr.status<300||xhr.status===304){
                 console.log("接受到服务器返回的数据")
              }else {
                  console.log("没有接受到服务器返回的数据")
                    }
               }
            }

图例:

成功

失败改变请求地址xhr.open('GET','0.php',true);

完整代码:

    <button id="btn">验证</button>
    <script>
    var btn = document.getElementById("btn");

     btn.onclick = function(){

        var xhr;
        if(window.XMLHttpRequest){    

            xhr = new XMLHttpRequest();
        }else{   

            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }


        xhr.open('GET','01.php',true);

        xhr.send();

         xhr.onreadystatechange=function() {
             if(xhr.readyState==4){
              if(xhr.status>=200&&xhr.status<300||xhr.status===304){
                 console.log("接受到服务器返回的数据")
              }else {
                  console.log("没有接受到服务器返回的数据")
                    }
                 }
            }
        }

    </script>

</body>

猜你喜欢

转载自www.cnblogs.com/gyix/p/10414974.html