AJAX介绍
AJAX = Asynchronous JavaScript and XML(异步的JavaScript和XML).
同步与异步的区别
同步的理解;
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;
同步就相当于是当客户端发送请求给服务端,在等待服务端响应的请求时,客户端不做其他的事情。当服务端做完了才返回到客户端。这样的话客户端需要一直等待。用户使用起来会有不友好。
异步的理解;
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
异步就相当于当客户端发送给服务端请求时,在等待服务端响应的时候,客户端可以做其他的事情,这样节约了时间,提高了效率。
同步是阻塞横式,异步是非阻塞横式
AJAX是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加或整个网页的情况下,对网页的某部分进行更新。
比如百度搜索.百度注册、天猫.京东等
传统的网页(不使用AJAX)如果需要更新内容,必需重载整个网页面。
以前Ajax是用XM1L格式的字符串进行数据交换,现在已经被]SON取代了。
Ajax特点:
优点:
·可以无需刷新页面,与服务器进行通信
·允许依据用户事件来更新部分页面内容
缺点;
·没有浏览历史,不能回退·存在跨域问题《同源)
. SEO不友好〔搜索引擎优化,对爬虫不友好)
AJAX原理
客户端发送请求,请求交给XMLHttpRequest,XMLHttpRequest把请求提交给服务,服务器进行业务处理,服务器响应数据交给XMLHttpRequest对象,XMLHttpRequest对象接收数据,由javascript把数据写到页面上。


获得响应
如需获得来自服务器的响应,请使用XMLHttpRequest对象的responseText或responseXML属性。

onreadystatechange事件
当请求被发送到服务器时,我们需要执行一些基于响应的任务。
每当readyState改变时,就会触发onreadystatechange事件。
readyState属性存有XMLHttpRequest的状态信息。
下面是XMLHttDReauest对象的三个重要的属性:



$.ajax()
执行异步AJAX请求。
定义和用法
ajax()方法用于执行AJAX(异步HTTP)请求。
所有的jQuery AJAX方法都使用ajax()方法。该方法通常用于其他方法不能完成的请求。
语法

该参数规定AJAX请求的一个或多个名称/值对。
下面的表格中列出了可能的名称/值:

$.get()和$.post()
jQuery get()和post()方法用于通过HTTP GET 或 POST请求从服务器请求数据。
HTTP请求:GET vs POST
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和POST.
· GET-从指定的资源请求数据
. POST-向指定的资源提交要处理的数据
GET基本上用于从服务器获得(取回)数据。注释:GET方法可能返回缓存数据。
POST也可用于从服务器获取数据。不过,POST方法不会缓存数据,并且常用于连同请求一起发送数据。
$.get()方法
$.get()方法通过HTTP GET请求从服务器上请求数据。
语法:

· URL:发送请求的URL字符串。
data:可选的,发送给服务器的字符串或,keylvalue键值对。
. callback:可选的,请求成功后执行的回调函数。
dataType:可选的,从服务器返回的数据类型。默认︰智能猜测(可以是xml,json, script,或 html).


















