ajax发送请求

首先创建XMLHttpRequest对象,利用此对象发送请求

主页面

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用Ajax</title>

<script type="text/javascript">
function vote(){
    //XmlHttpRequest对象,一个专门的HTTP请求工具
    /*
    实现Ajax要考虑的内容:
    1,用什么请求方式
    2,请求哪个资源(url)
    3,同步还是异步
    */
    var xhr=new XMLHttpRequest();
    // document.write(xhr);


    // alert(xhr);
    // console.log(xhr);//在IE10以下版本console未定义

    //单向请求
    xhr.open('GET','./01.php',true);//打开连接
    //请求方法,请求地址,同步还是异步

    xhr.send(null);//发送请求,不发送数据

    alert(xhr.responseText);
    alert("hello");
    
}
</script>
</head>
<body>
    <form action="" method="post">
        <p>用户名:<input type="text" name="username"/></p>
        <p>密码:<input type="password" name="pwd"/></p>
        <p><input type="submit" value="注册" onclick="vote()"/></p>
    </form>
</body>
</html>

 返回值为01.php中echo的内容

同步与异步的理解

等待send()执行完毕之后,再执行后面的语句为同步  false
不等带send()的是否执行,直接执行后面的语句为异步 true

 

xhr对象在请求和响应过程中,状态会不断变化,1-4逐步变化,到4时,表示成功
可以绑定一个函数,来监听状态的改变,最终实现接收最后响应信息 

 添加以下代码,用异步传输

//状态变化的回调函数
    xhr.onreadystatechange=function(){
        if(xhr.readyState==4){
            alert("请求成功了");
            alert(xhr.responseText);//弹出返回信息,responseText是属性不是方法
        }
    }
原文地址:https://www.cnblogs.com/lzzhuany/p/4860315.html