• ajax请求的完整步骤


    AJAX = 异步JavaScript和XML,可以使网页实现异步更新,达到局部更新的目的。

    一、AJAX请求步骤如下:

    1、创建XMLHttpRequest对象

    var xhr;
    if(window.XMLHttpRequest){
    	var xhr = new XMLHttpRequest();
    }
    else{
    	var xhr = new ActiveXObject("Microsoft.XMLHttp");
    }
    

    2、向服务器发送请求

    xhr.open(method,url,async);
    xhr.send();//GET请求无参数,POST请求时一定要有参数
    

    注:

    • method:请求的类型 GET或POST
    • url:文件在服务器上的位置,相对位置或绝对位置
    • async:异步(true)同步(false)

    3、服务器响应

    responseText 获得字符串形式的相应数据

    responseXML 获得XML形式的响应数据

    4、获取服务器状态码

    XMLHttpRequest有三个重要属性:onreadystatechange,readyState ,status。

    • readyState 属性存有 XMLHttpRequest 的状态信息,从0-4发生变化。

    0: 请求未初始化
    1: 服务器连接已建立
    2: 请求已接收
    3: 请求处理中
    4: 请求已完成,且响应已就绪

    • status

    200:OK
    404:未找到页面

    • readyState 触发onreadystatechange事件
    xhr.onreadystatechange = function(){
    	if(xhr.readystate == 4&& xhr.status == 200){
    		do something;
    	}
    }
    

    5、简单的实例

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script>
    function loadXMLDoc()
    {
    	var xhr;
    	if (window.XMLHttpRequest)
    	{
    		//  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
    		xhr = new XMLHttpRequest();
    	}
    	else
    	{
    		// IE6, IE5 浏览器执行代码
    		xhr = new ActiveXObject("Microsoft.XMLHTTP");
    	}
    	xhr.onreadystatechange=function()
    	{
    		if (xhr.readyState==4 && xhr.status==200)
    		{
    			document.getElementById("myDiv").innerHTML = xhr.responseText;
    		}
    	}
    	xhr.open("GET","/try/ajax/ajax_info.txt",true);
    	xhr.send();
    }
    </script>
    </head>
    <body>
    
    <div id="myDiv"><h2>使用 AJAX 修改该文本内容</h2></div>
    <button type="button" onclick="loadXMLDoc()">修改内容</button>
    
    </body>
    </html>
    

    二、AJAX 中POST和 GET的区别

    POST和 GET都是向服务器发送的一种请求,只是发送机制不同。

    1、GET请求会将参数跟在url后传递,POST请求是作为http消息的实体内容发送给服务器。

    2、GET方式提交的数据最多只能是1024字节。

    3、GET方式请求的数据会被浏览器缓存起来,别人可以读取,如帐号、密码等,相对于POST方式不安全。

    4、在客户端使用GET请求时,服务器使用Request.QueryString 获取参数;在客户端使用POST请求时,服务器使用Request.Form获取参数。

    5、当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如添加数据行),则用POST方法。

  • 相关阅读:
    结对-结对编项目贪吃蛇-开发环境搭建过程
    gitbook serve运行报错TypeError: cb.apply is not a function
    iOS 工程添加的framework转成pod形式加入
    selector not recognized
    Errors were encountered while preparing your device for development. Please check the Devices and Simulators Window.
    podspec 添加xcassets
    后缀自动机(SAM)构造实现过程演示+习题集锦
    数组中存在undefined,0,null,false等的情况该如何去除
    Uncaught TypeError: date.clone is not a function 【报错解决】
    React·前端URL参数丢失符号的解决办法
  • 原文地址:https://www.cnblogs.com/yihen-dian/p/8698712.html
Copyright © 2020-2023  润新知