ajax,跨域

54 阅读2分钟

ajax

一、什么是ajax?

  • AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
  • AJAX 不是新的编程语言,而是一种使用现有标准的新方法
  • AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下

XML 可拓展性标记语言(重量级数据格式)

作用:网络传输和配置文件

虽然 Ajax 中的 x 代表 XML,但是现在 JSON 的诸多优势 JSON 的使用比 XML 更加普遍。 JSON 和 XML 都用于在 Ajax 模型中封装数据

Ajax并不是一个新技术,而是多个技术的整合:

  • HTML
  • CSS
  • JavaScript
  • DOM
  • XML
  • XMLHttpRequest 对象
  • XMLHttpRequest 是 Ajax 的核心。

二、ajax的工作原理

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。

三、创建一个xhr(XMLHttpRequest)对象

2%$(@LOK1HH7P`AEPQ5%B(D.png

封装一个ajax方法:同步

步骤1:得到xhr核心对象

步骤2:调用open方法(请求方式,请求路径,同步/异步)

步骤3:发送请求

步骤4:接受相应的结果 进行判断

image.png

封装一个ajax方法:异步

1、得到核心对象

2、准备参数

3、发送请求

4、利用onreadystatechange事件,它会自动触发,相应数据回来的时候,会触发

image.png

BD0}1WIF(56O01HWC${HV7Q.png

7)YJVP01G}CE00A`Y3OHX2O.png

异步的post请求

cd6388360c53b6295febadb200787ab.png

异步的get请求方法

image.png

跨域

一、什么是跨域

CORS全称Cross-Origin Resource Sharing,意为跨域资源共享。当一个资源去访问另一个不同域名或者同域名不同端口的资源时,就会发出跨域请求。如果此时另一个资源不允许其进行跨域资源访问,那么访问就会遇到跨域问题。

二、同源策略

同源策略是对浏览器的一种安全机制,如果出现协议、域名、端口号不统一,就会产生跨域

三、常见的跨域场景

7ac30ed7c5ac60480deb06738da6848.png

四、常见的解决跨域方案

  • 使用非官方的跨域解决方案jsonp,采用一些src属性的标签,不受限制的访问外部资源,并且结合callback获取数据,前后端协商
  • 在后端设置cors Access-Control-Allow-Origin:*
  • 服务器代理 proxy server
  • postMessage