认识Ajax

一、定义

Ajax即Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

二、技术

1.JavaScript

2.XML、XSLT

3.DOM

4.XHTML

5.CSS

6.XMLHttpRequest

三、优缺点

1.优点

(1)无刷新更新数据

(2)与服务器进行异步通信(flash、iframe、XMLHttpRequest)

(3)平衡前端和后端负载(按需加载)

(4)基于标准被广泛支持

(5)数据与页面分离

2.缺点

(1)破坏浏览器的后腿功能

(2)安全问题

(3)对搜索引擎支持较弱

(4)对移动设备支持不好

(5)破坏程序的异常处理机制

(6)违背URL和资源定位的初衷

客户端代码冗余

四、GET&POST

GET是从服务器上请求数据,POST是发送数据到服务器。

GET:

1.参数附加在CGI程式的URL后直接传给server,并可从server端的QUERY_STRING环境变量中读取(通过URL请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于action属性所指程序的URL后);

2.使用Request.QueryString()获取提交内容;

3.传输的数据量非常小,一般限制在2 KB左右;

4.执行效率较好,安全性差;

5.有缓存。

POST:

1.参数会被打包在数据报中传送给server,并可从CONTENT_LENGTH环境变量中读取。

2.使用Request.From()访问提交内容

3.传输数据量相对较大,但也有字节限制,以避免对服务器用大量数据进行恶意攻击;

4.执行效率较差,安全性较好;

5.无缓存。

五、Ajax Code

1.JavaScript

//创建XMLHttpRequest对象

function creatXMLHttpRequest(){

var xhr=null;

if (window.XMLHttpRequest)

{

// code for IE7+, Firefox, Chrome, Opera,Safari

xhr=new XMLHttpRequest();

if(xhr.overrideMimeType )

{

//修正某些特定版本的mozillar浏览器的bug

xhr.overrideMimeType("text/xml");

}

}

else

{

// codefor IE6, IE5

xhr=newActiveXObject("Microsoft.XMLHTTP");

}

return xhr;

}

//主函数执行ajax

functionajax(url,fnSucc,fnFaild)

{

//创建XMLHttpRequest对象

varxhr=creatXMLHttpRequest();

//注册回调函数

xhr.onreadystatechange=callback;//回调函数名

//连接服务器

xhr.open("get/post",url,true);//异步传输

//发送请求

xhr.send(null/string);//

//回调函数接受并处理响应信息

function callback()

{

if (xhr.readyState==4)

{

if(xhr.status==200)

{

fnSucc(xhr.responseText);

}

else

{

if(fnFaild){fnFaild(xhr.Status);}

}

}

}

}

2.jQuery

(1)$(selector).load(url,data,function(data,status,xhr));

从服务器加载数据,并把返回的数据放入被选元素中

(2)$.get(url,data,function(data,status,xhr),dataType)

使用AJAX的HTTP GET请求从服务器加载数据

$.post(url,data,function(data,status,xhr),dataType)

使用AJAX的HTTP POST请求从服务器加载数据,一般用于向指定的资源提交要处理的数据

(3)$.ajax({

type:get/post,

url:url,

data:{

},

dataType:html/xml/json/jsonp/text/script,

success:function(result,status,xhr){

},

error:function(xhr,status,error){

}

})

六、读取文件

1.被读取的txt文件的字符集编码格式应设置为UTF-8

2.阻止缓存

'url?time='+new Date().getTime()

'url?time='+Math.random()

3.eval(string)函数:计算某个字符串,并执行其中的的JavaScript代码,可用于读取Array和Json。

你可能感兴趣的:(认识Ajax)