ajax

AJAX

1.什么是AJAX?他的作用是什么?

       AJAX指异步JavaScriptXMLAsynchronous JavaScript And XML)。AJAX 不是一种新的编程语言,而是一种使用现有标准的新方法。通过 AJAX,你可以创建更好、更快以及更友好的 WEB 应用程序。

 

注意:AJAX 基于JavaScriptHTTP请求(HTTP requests)。

 

2.什么是同步通信?什么是异步通信?

1)同步:前台页面给后台服务器一个请求(发送一个表单内容,传递一个url),服务器获取到请求数据之后给前台页面一个响应,在这个过程当中,前台页面一直在等待(停止所有的动作)。

2)异步:前台页面给后台服务器一个请求(发送一个表单内容,传递一个url),服务器获取到请求数据之后给前台页面一个响应,在这个过程当中,前台页面正常工作。

 

3.怎么样实现异步通信?(AJAX技术:javascriptjquery

 

4.步骤:webserver之间的通信

步骤一:建立一个通信对象(XMLHttpRequest对象)

步骤二:利用该对象的open来确定一个具体的通信url(给谁发送请求)open("GET"|"POST",服务器url,true(异步)|false(同步))

步骤三:发送请求send

步骤四:监听服务器给出的响应(接收响应)

onreadystatechange=function(){函数内容}--匿名函数:自动执行,不需要调用

onreadystatechange=callback--回调函数--自动执行,有名字,函数执行完后会给主程序一个响应

responseText|responseBody 属性会存储从服务器返回的数据。

 

二、AJAX数据处理方式:

1.HTML的处理方式(responseText//document.getElementById("div").innerHTML+=xhr.responseText

2.XML的处理方式(responseXMLDOM//xmlobj=xhr.responseXML;

优点:格式固定,容易扩展数据,层析清晰

缺点:节点的获取(有问题)

所以解析XML一般用服务器语言(DOM

3.JSONeval函数格式化及responseJSON

JSON:利用js的对象来表示的数据(字符串)//jsonObj=eval("("+xhr.responseText+")")

js字面量:

1.对象字面量:

{

stu1:{name:"张三",sex:"",birthday:{year:1990,month:12,day:12}},

stu2:{name:"李四",sex:"",birthday:{year:1990,month:12,day:12}},

stu3:{name:"王五",sex:"",birthday:{year:1990,month:12,day:12}},

stu4:{name:"赵六",sex:"",birthday:{year:1990,month:12,day:12}}

}

{属性名:属性值,...}

优点:访问简单,易获取(通过eval转换格式)

缺点:格式不固定,没有规则(写json的时候格外注意)

2.数组字面量:[{属性:},{},{...}]

[

{name:"张三",sex:"",birthday:{year:1990,month:12,day:12}},

{name:"李四",sex:"",birthday:{year:1990,month:12,day:12}},

{name:"王五",sex:"",birthday:{year:1990,month:12,day:12}},

{name:"赵六",sex:"",birthday:{year:1990,month:12,day:12}}

]

 

二、注意事项

1、服务器给浏览器返回的数据格式:

普通文本:服务器用echo输出,客户端用xhr.responseText接收

Json格式:服务器echojson_encode()输出json格式数据,客户端xhr.responseText接收

Xml格式:必须发送头文件(header(“content-Type:text/xml;charset=utf8”))告知浏览器返回xml文件,客户端xhr.responseXML接收

2getpost区别

(1) Get请求时一定要注意地址栏不变,是因为缓存的问题,

解决方法:地址栏添加随即数,(Math.random())。发送header头信息命令浏览器不要缓存数据(header(“cache-control;no-cache”)

(2)get时,参数写在url中,encodeURL()防止乱码,math.random加随机数,防止缓存

Post 时,必须加上 xhr.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”), 参数写在 send ()函数中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值