Ajax

作者: Cissy_fba3 | 来源:发表于2018-09-15 23:04 被阅读0次

在 Ajax 出现之前,网页想要和服务器通信,最常用的方式是使用 form 表单;用户提交表单后,浏览器就开始跳转,服务器接收表单并处理,然后将新的网页返回给浏览器;整个过程用户都只有等待,用户之前的操作状态会丢失,并且服务器返回的新网页常常和之前网页的大部分内容相同,浪费带宽;可见,使用表单来进行网页和服务器的交互,会做很多无谓的工作,浪费资源,用户体验还差。

Ajax 是 Asynchronous JavaScript and XML(异步的 JavaScript 与 XML 技术)的缩写,并不是 JavaScript 的一部分,而是网页与服务器通信的一系列技术的总称。网页使用 Ajax 与服务器通信,可以规避上述 form 表单存在的问题,页面不会刷新,用户不用等待请求的返回,可以继续在我们的网页上“冲浪”。第一个大规模使用 Ajax 的网页应用是 Gmail

Ajax就是无需刷新页面就可以从服务器获取新数据的技术。

Ajax技术的核心是XMLHttpRequest对象(简称XHR,是浏览器提供的),这是由微软首先引入的一个特性,其他浏览器供应商后来都引入了。在XHR出现之前,Ajax式的通信必须借助一些hack手段来实现,大多数是使用隐藏的框架和内嵌的框架。XHR 为 向服务器发送请求和解析服务器的响应提供了流畅的接口。能够以异步的方式从服务器提供更多信息,用户单击后可以不必刷新页面而取得新数据。也就是说 ,可以使XHR对象取得新数据,然后再通过dom将新数据插入到页面中。另外,虽然涉及XML,但是Ajax通信与数据格式无关(不一定是XML)。

Ajax通过原生的XMLHttpRequest对象发出HTTP请求,得到服务器返回的数据后,再进行处理。

  1. 创建Ajax对象
  2. 发出HTTP请求
  3. 接收服务器传回的数据
  4. 更新网页数据

Ajax可以是同步请求,也可以是异步请求。但是,大多数情况下,特指异步请求。因为同步的Ajax请求,对浏览器有“堵塞效应”。

eg(以下代码要背下来):

let xhr =new XMLHttpRequest()//实例化xhr对象
xhr.open('get','./xxxx')//配置request
xhr.onreadystatechange=function(){
 if(xhr.readyState===4 && xhr.status===200){
    console.log(xhr.responseText)
  }
}//接收并更新
xhr.send('xxxxx')//发出请求

readyState的状态有5个

0:未初始化。
1:启动
2:发送
3:接收
4:完成

同源策略

突破同源策略(跨域)

在服务器中添加一句:response.setHeader('Access-Control-Allow-Origin','http://cissy.com:8888') //要背下来哟

eg:

http://javascript.ruanyifeng.com/bom/ajax.html阮一峰AJAX

http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html阮一峰,浏览器同源策略及规避方法

相关文章

  • AJAX

    主要内容: ajax 是什么、原生ajax 写法和jQuery ajax写法。 AJAX 是什么 ajax,即As...

  • JavaScript进阶知识点--AJAX及JSON

    AJAX 关于 AJAX 什么是 AJAX AJAX 的全称是 Asynchronous JavaScript a...

  • HTML5权威指南 | 第五部分 高级功能

    三十二、使用AJAX(上) Ajax起步: 使用Ajax事件: Ajax请求的错误处理: 中止Ajax请求: 三十...

  • ajax学习笔记

    Ajax学习笔记 Ajax简介 1. Ajax是什么? Ajax : Asynochronous javascri...

  • AJAX

    一、简介 AJAX菜鸟教程 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。 AJAX...

  • js之AJAX复习

    异步交互和同步交互 什么是Ajax? Ajax的工作原理。 Ajax包含的技术: Ajax的缺陷: Ajax的核心...

  • 复习jQuery - ajax

    jQuery ajax - ajax() 方法 $.ajax({ url:'oo.php', ...

  • jQuery中Ajax请求的使用和四个步骤示例

    ajax() 方法用于执行 AJAX(异步 HTTP)请求,所有的 jQuery AJAX 方法都使用 ajax(...

  • ajax

    1、什么是ajax? 2、ajax的原理 3、ajax的核心对象 4、ajax的优点: ajax的缺点: 被jqu...

  • ajax

    Ajax 1 - 请求纯文本 Ajax 2 - 请求JSON数据 Ajax 3 - 请求Github接口 Ajax...

网友评论

      本文标题:Ajax

      本文链接:https://www.haomeiwen.com/subject/cnwtnftx.html