Ajax

Ajax:Asynchronous JavaScript and XML 的缩写,指的是通过 JavaScript 的异步通信,从服务器获取 XML 文档从中提取数据,再更新当前网页的对应部分,而不用刷新整个网页。 


前提:只有 协议+端口+域名 一模一样才允许发 AJAX 请求

Ajax步骤:①创建 XMLHttpRequest 实例        ②发出 HTTP 请求        ③接收服务器传回的数据        ④更新网页数据


除Ajax外,通常还有 下面的请求方式:(jsonp)

用 form 可以发请求,但是会刷新页面或新开页面 

用 a 可以发 get 请求,但是也会刷新页面或新开页面 

用 img 可以发 get 请求,但是只能以图片的形式展示 

用 link 可以发 get 请求,但是只能以 CSS、favicon 的形式展示 

用 script 可以发 get 请求,但是只能以脚本的形式运行

(ajax有get、post、put、delete请求方式)


1、XMLHttpRequest .readyState表示实例对象的当前状态。该属性只读

0,表示 XMLHttpRequest 实例已经生成,但是实例的open()方法还没有被调用。

1,表示open()方法已经调用,但是实例的send()方法还没有调用,仍然可以使用实例的setRequestHeader()方法,设定 HTTP 请求的头信息。

2,表示实例的send()方法已经调用,并且服务器返回的头信息和状态码已经收到。

3,表示正在接收服务器传来的数据体(body 部分)。这时,如果实例的responseType属性等于text或者空字符串,responseText属性就会包含已经收到的部分信息。

4,表示服务器返回的数据已经完全接收,或者本次接收已经失败。


2、CORS跨域资源共享(Cross-origin resource sharing)

在响应上加:response.setHeader('Access-Control-Allow-Origin','http://跨域网址')


3、JS操作请求和响应(浏览器)

操作请求/响应内容

4、封装jQuery.Ajax

因为每个程序员的回调名不一样,所以用 Promise 解决这个问题

(在request.send()里设置请求体时,Chrome浏览器用 post 请求才能显示)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容