• 技术文章 >web前端 >js教程

    原生Ajax怎么写

    (*-*)浩(*-*)浩2020-09-08 16:18:20原创9051

    写原生Ajax的方法:首先创建XMLHttpRequest对象;然后编写回调函数onreadystatechange;接着配置请求信息;最后发送请求即可。

    大前端成长进阶课程:进入学习

    Ajax(Asynchronous JavaScript and XML的缩写)是一种异步请求数据的web开发技术,对于改善用户的体验和页面性能很有帮助。

    简单地说,在不需要重新刷新页面的情况下,Ajax 通过异步请求加载后台数据,并在网页上呈现出来。常见运用场景有表单验证是否登 入成功、百度搜索下拉框提示和快递单号查询等等。

    想要对Ajax有一个全面的了解,这里可以去Js教程中对它进行一个全方面认识。

    现在Ajax经过各种优化已经变得非常方便了,例如使用Jquery只需要一行便可以使用Ajax了。

    ajax3.jpg

    那么原生的Ajax是什么样呢?

    让我们来看一下吧。

     <script type="text/javascript">
    	function ajax(url){
    		//创建XMLHttpRequest对象,新版本的浏览器可以直接创建XMLHttpRequest对象,IE5或IE6没有
    		//XMLHttpRequest对象,而是用的ActiveXObject对象
    	       var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : ActiveXObject("microsoft.XMLHttp")
    	       xhr.open("get",url,true);
    	       xhr.send();//发送请求
    	       xhr.onreadysattechange = () =>{
    	           if(xhr.readystate == 4){//返回存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
    	               if(xhr.status == 200){//返回状态码
    	                   var data = xhr.responseTEXT;
    	                   return data;
    	               }
    	           }
    	       }    
    	   }
    </script>

    readystate:

    存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

    0: 请求未初始化

    1: 服务器连接已建立

    2: 请求已接收

    3: 请求处理中

    4: 请求已完成,且响应已就绪

    status :

    200: "OK"

    404: 未找到页面

    405:请求方式不正确

    500:服务器内部错误

    403:禁止请求

    Ajax有两种请求方式:

    get请求方式

    <script type="text/javascript">
    	function ajax() {
    		//创建核心对象
    		xhr = null;
    		if (window.XMLHttpRequest) {// 新版本的浏览器可以直接创建XMLHttpRequest对象
    			xhr = new XMLHttpRequest();
    		} else if (window.ActiveXObject) {// IE5或IE6没有XMLHttpRequest对象
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    		//编写回调函数
    		xhr.onreadystatechange = function() {
    			if (xhr.readyState == 4 && xhr.status == 200) {
    				alert(xhr.responseText)
    			}
    		}
    		//open设置请求方式和请求路径
    		xhr.open("get", "/Ajax/ajax?userId=10");//一个url还传递了数据,后面还可以写是否同步
    		//send 发送
    		xhr.send();
    	}
    </script>

    post请求方式

    <script type="text/javascript">
    	function ajax() {
    		//创建核心对象
    		xhr = null;
    		if (window.XMLHttpRequest) {// 新版本的浏览器可以直接创建XMLHttpRequest对象.
    			xhr = new XMLHttpRequest();
    		} else if (window.ActiveXObject) {// IE5或IE6没有XMLHttpRequest对象
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    		//编写回调函数
    		xhr.onreadystatechange = function() {	
    			if (xhr.readyState == 4 && xhr.status == 200) {
    				alert(xhr.responseText)//警告框,显示返回的Text
    			}
    		}
    		//open设置请求方式和请求路径
    		xhr.open("post", "/Ajax/ajax2");//一个servlet,后面还可以写是否同步
    		//设置请求头
    		xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded")
    		//send 发送
    		xhr.send("userId=10");
    	}
    </script>

    以上就是原生Ajax怎么写的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:ajax
    上一篇:带你轻松理解KMP算法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• ajax实现局部刷新页面--留言刷新• ajax能做什么?• ajax的工作原理是什么(附图解)• 前端请求ajax的url 路径怎么写
    1/1

    PHP中文网