您好,登录后才能下订单哦!
小编给大家分享一下javascript中Ajax基础知识点有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。原生创建ajax可分为以下四步
现代浏览器中创建一个XMLHttpRequest对象
var xhr = new XMLHttpRequest();
初始化上一步创建好的对象,这里可以接受三个参数,如下
xhr.open(method,url,async);
第一个参数表示请求类型,GET或者POST。
第二个参数表示目标ur
第三个参数true代表异步模式请求;false代表同步模式,不建议使用;
异步模式下如果网络阻塞或响应不及时等,均会阻塞在这里等待 出现页面挂起的情况
//GET请求 xhr.open("GET",demo.php?name=tsrot&age=24,true); //POST请求 xhr.open("POST",demo.php,true);
一般情况下,使用Ajax提交的参数多是些简单的字符串,可以直接使用GET方法将要提交的参数写到open方法的url参数中,此时send方法的参数为null或为空。
GET请求
xhr.open("GET",demo.php?name=tsrot&age=24,true); xhr.send(null);
POST请求
xhr.open("POST",demo.php,true); xhr.setRequestHeder("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); xhr.send()
xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ console.log(xhr.responseText); } }
onreadystatechange :当处理过程发生变化的时候执行下面的函数
readyState :ajax处理过程0:请求未初始化(还没有调用 open())。
1:请求已经建立,但是还没有发送(还没有调用 send())。
2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
4:响应已完成;您可以获取并使用服务器的响应了。responseText:获得字符串形式的响应数据responseXML:获得 XML形式的响应数据返回值一般为json字符串,可以用JSON.parse(xhr.responseText)转化为JSON对象
var xhr = false; if( XMLHttpRequest){ xhr = new XMLHttpRequest(); } else{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } if(xhr) { //如果xhr创建失败,还是原来的false xhr.open("GET","./data.json",true); xhr.send(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ console.log(JSON.parse(xhr.responseText).name); } } }
以上是“javascript中Ajax基础知识点有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。