异步概念:
XMLHttpRequest对象把数据传递到服务器地址后服务器处理,在处理同时可以处理其他事情可以减少等待时间。如果阻塞或者同步则必须等待服务器返回响应,假如数据量大则等待时间特长。
优势:
传统的web请求会将表单数据提交到action地址服务器,但是密码email等数据没有必要提交至服务器
Ajax则是按需取数据这样可以降低服务的压力
Ajax步骤:
获取AJAX的XMLHttpRequest对象(考虑浏览器兼容性)
Varxhr;
If(window.ActiveXObject){----IE浏览器
Xhr=newActiveXObject(“Microsoft.XMLHttp”);
}elseif(window.XMLHttpRequest){----火狐浏览器
Xhr=newXMLHttpRequest()
}
open()方法参数1请求方式参数2请求的url参数3是否为异步方式
Varurl=“”;//请求的地址是服务器端
Xhr.open(“GET”,url,true);//打开url
Xhr.onreadystatechange=callback;//见识请求状态
Xhr.send();
Functioncallback(){-----回调函数
If(xhr.readyState==4){-----表示请求已经完
If(xhr.status==200){---表示请求成功
//获取服务器响应的数据
responseText
}
}
}
GET方式请求:
中文转码encodeURL()
浏览器有缓存需要在地址栏传递随机数
POST方式请求:
一定要设置xhr.setRequestHeader
发送的数据通过send()方法发送过去通常使用POST方式
json_encode()可以将数组转化成字符串
服务器给浏览器返回的数据格式:
普通文本:
直接echo
字符串;
Echo
服务器端echo$str
客户端responseText
Json格式数据
服务器:json_encode()
客户端:responseText使用时候eval()
XML格式数据:
返回数据前需要通过header()函数声明回应数据的格式
客户端接收的时候应用xhr.responseXML
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。