关于ajax异步请求

关于ajax异步请求

老师,您好:

这一章节讲的太模糊了吧,下面这些完全不懂啊,老师一上来就直接把各种各样的函数弄出来了,完全不知道这些函数是干什么的,老师,能不能一个一个步骤的讲解一下,以及这里面涉及到的函数是做什么的?不太清楚啊,请老师解释一下这下面的每一个的原理和函数作用,不明白这些的意思,谢谢


http://img1.sycdn.imooc.com//climg/5fa7afa709a2c26d06170420.jpg

http://img1.sycdn.imooc.com//climg/5fa7afa70990e10606560356.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好,

1、Ajax是一种无需重新加载整个网页的情况下,能够部分更新网页的技术。主要是实现页面和 web 服务器之间数据的异步传输。每当用户提交输入,服务器会返回新网页,传统的 web 应用程序往往运行缓慢,且越来越不友好。通过 AJAX,web 应用程序无需重载网页,就可以发送并取回数据。

2、当前小节中讲解了ajax原理实现的五个步骤

    ​    1)创建XMLHttpRequest对象,根据不同的浏览器进行判断

    ​    ​    ​http://img1.sycdn.imooc.com//climg/5fa7b925090033b208350264.jpg

    ​    ​2)注册回调函数,当状态发生变化时进行相应的处理,判断状态是否为4,若条件成立则打印状态码

    ​    ​    ​http://img1.sycdn.imooc.com//climg/5fa7b9f309c1710e06640104.jpg

    ​    ​3)配置请求参数,不论是post和get都会有参数 ​

    ​    ​4)发送请求

    ​    ​    ​  open()方法用于指定 HTTP 请求的参数,或者说初始化 XMLHttpRequest 实例对象。

    ​    ​    ​  send()方法用于实际发出 HTTP 请求

    ​    ​    ​http://img1.sycdn.imooc.com//climg/5fa7b96b09567b8f05290207.jpg

    ​    ​5)创建回调函数

    ​    ​    ​  http://img1.sycdn.imooc.com//climg/5fa7ba0a0912ce2905570203.jpg

3、回调函数就是一个参数,将这个函数作为参数传到另一个函数里面,当函数执行完之后,再执行传进去的函数,这个过程就叫做回调。

  • 为学习而奋斗 提问者 #1
    let xmlhttp = null; if (window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); }else if (window.ActiveXObject){ xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); }else { alert("浏览器不支持"); } if (xmlhttp != null){ xmlhttp.onreadystatechange = callback; } let url = "https://www.imooc.com"; xmlhttp.open("GET", url, true); xmlhttp.send(null); function callback() { if (xmlhttp.readyState === 4){ console.log(xmlhttp.status); } } 这一段里面它的执行原理每一步都是固定写法吗?就是生成这个ajax异步请求原理的方式。
    2020-11-08 17:52:40
  • 为学习而奋斗 提问者 #2
    1、ActiveXObject('Microsoft.XMLHTTP'),这里面写的这个Microsoft.XMLHTTP是固定的吗? 2、onreadystatechange 是干什么的?不太明白哎 3、.open("GET", url, true),这里面的参数第一个可以是get也可以是post对吗?至于中间的URL就是指要进行异步请求的地址吗?最后一个true就是ajax异步请求的开启是吧? 4、xmlhttp.status是打印它的状态码是吧? 5、readyState 是做什么的?用来判断他的重新加载的状态码是什么数字是嘛? 6、这些东西都不懂啊,就感觉很难理解这个ajax原理,这些函数也不知道是干什么的?是不是都是固定写法啊?就是实现这个ajax异步请求原理,每一步都是固定的是嘛?
    2020-11-08 18:00:02
  • 好帮手慕美 回复 提问者 为学习而奋斗 #3
    同学,你好, 1、是固定的 2、onreadystatechange 函数:当readyState 属性发生改变时触发 readystatechange 事件的时候被调用 3、open()的第一个参数值可以为 GET或POST, url为请求参数,第三个参数为 false时请求是同步的,为 true 或省略时请求是异步的 4、xmlhttp.status:HTTP请求的状态码 5、readyState:返回当前所处的状态 6、同学了解就可以,ajax原理实现的五个步骤是固定的,回调函数和请求参数是可以修改的 同学可以继续向后学习,综合几个视频来理解。祝学习愉快~~~~
    2020-11-08 18:36:14
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师