ajax

一.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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值