ajax

mac2024-11-28  24

一.ajax

1.创建ajax对象

主流浏览器: var xhr = new XMLHttpRequest(); ie 6.7.8 : var new = ActiveObject();

2.ajax 对象成员属性和方法

属性:readyState responseText responseXML onreadystatechange 方法:open() send() setRequestHeader()

3.get请求和post请求注意事项

get请求注意

a.在url地址后边通过请求字符串传递get参数信息 b.对于特殊符号,中文需要编码encodeURLComponent()

post请求注意:

a.在sent()方法里传递参数 b.需要在open()方法之后调用setRequestHeader()方法[把传递的信息组织为xml格式] c.特殊符号需要编码 d.可以同时传递get参数信息,并使用$_GET接受

4.异步请求和同步请求

ajax对象.open(get,url,true异步/false同步); 异步:在同一个时间点允许执行多个进程 同步:在同一时间点允许执行一个进程

5.对xml的接受和处理

ajax负责去服务器请求xml信息,使用reponseXML属性接收 js里边的DOM技术负责处理xml信息(与处理html方式一致)

6.缓存处理

a.给请求地址设置随机数 b.给动态程序文件设置header头,避免浏览器缓存

2.ajax出现的历史

1999年,微软公司发布ie5浏览器的时候嵌入的一种技术。起初名字是XMLHttp 直到2005年ajax才开始流行,该年google公司发布一个邮箱产品gmail,内部的gtalk聊天工具使用ajax技术,该事件引起人们对ajax的注意,并促成其广泛使用,同时使得向来不被重视的javascript语言得到大家的青睐

3.ajax技术是许多旧技术的集合

xhtml , css , javascript,xml,xmlhttprequest对象(ajax对象) 其中xmlhttpRuqusest是ajax的官方的名称

二.ajax 使用

1.创建ajax对象

1.1主流浏览器方式

火狐,google 苹果 opera 包括ie7以上版本的浏览器 a.主流浏览器(firefox,chrome,safar,opera,IE7以上)

var xhr = new XMLHttpRequest(); console.log(xhr);
1.2 ie( 6 / 7 / 8 )

b.IE浏览器创建

var new = ActiveObject("Microsoft.XMLHTTP");//最原始的方法 var new = ActiveObject("Msxml2.XMLHTTP");//升级 var new = ActiveObject("Msxml2.XMLHTTP.3.0");//升级 var new = ActiveObject("Msxml2.XMLHTTP.5.0");//升级 var new = ActiveObject("Msxml2.XMLHTTP.6.0");//微软维护最高版本6.0 alert(xhr);

2.发起对服务器的请求

3.

二.JSON

1.什么是json

json:javascript object notation (javascript对象符号) 其实是我们学过的js “字面量对象” 其实是一种 数据交换格式 (之前的xml也是数据交换格式)。

之前用户网站需要获得天气信息,通常会把天气预报官网首页的全部信息都给请求回来,但是只是在里面获得很少的天气信息,这样做对宽带,天气官网的服务器,用户等待时间的消耗比较严重 这个事件做优化处理:天气预报网站服务器把天气做成一个数据接口提供出来,好处是用户网站每次请求天气信息的宽带变小,请求速度加快,天气预报网站服务器的损耗得到控制

为了各种语言(java/php/.net/javacsript)的网站用户方便使用数据接口,其接口的数据格式最好是大家可以识别的,因此json/xml就被应用上了

json的生成和处理要比xml更加方便,因此在许多领域json正在逐步取代xml 的使用

一个具体的天气预报的接口 :

http://v.juhe.cn/weather/index?format=2&cityname=%E8%8B%8F%E5%B7%9E&key=%E6%82%A8%E7%94%B3%E8%AF%B7%E7%9A%84KEY

2.json的使用

json在javascript里边就是个字面量对象 var obj = {名称:值 , 名称:值 , 名称:function(){} }

2.2通过php生成json信息

json_encode (数组/对象)---------》生成json信息 json_encode (关联数组)---------》json对象 json_encode (索引数组)---------》json数组 json_encode (索引关联数组)---------》json对象 json_encode (对象)---------》json对象

2.3php处理json信息

json_decode(json信息);反编码json信息

最新回复(0)