ajax相关体会
参考原文:
例子:http://blog.csdn.net/beijiguangyong/article/details/7725596
原理讲解:http://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html
本科学习ajax,老师一直给讲解各种控件的使用方法,导致学完ajax,根本什么都不理解。后来有幸进入了校实验室,跟着实验室项目学习,也一直是让用$.ajax(),只知道这个东西就是ajax,可以异步刷新,甚至不知道什么叫做异步刷新,只是一直谨记老师的话,可以提升用户体验,怎么怎么好。如今开始学习php,才第一次正式的认识ajax,才第一次明白当初怎么也记不住名字的XMLHttpRequest究竟是个什么东西。不能说非常理解,至少使用起来不再是那么的迷茫。至今尚未弄懂微软及谷歌的底层是如何实现对ajax的支持的,xmlhttprequest类的具体的实现也不懂,但至少知道如何不使用$.ajax()来写创建自己的XMLHttpRequest对象了。
- <script type="text/javascript">
- //创建XMLHttpReques对象
- function createXMLHttpRequest(){
- if(window.XMLHttpRequest){
- //Mozilla浏览器
- XMLHttpReq=new XMLHttpRequest();
- }else{
- //IE浏览器
- if(window.ActiveXObject){
- try{
- XMLHttpReq=new ActionXObject("Msxm12.XMLHTTP");
- }catch(e){
- try{
- XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
- }catch(e){}
- }
- }
- }
- }
- //处理服务器响应结果
- function handleResponse() {
- // 判断对象状态
- if (XMLHttpReq.readyState == 4) {
- // 信息已经成功返回,开始处理信息
- if (XMLHttpReq.status == 200) {
- var out = "";
- var res = XMLHttpReq.responseXML;
- var response= res.getElementsByTagName("response")[0].firstChild.nodeValue;
- //5. 解析服务器返回的信息,更新用户界面
- document.getElementById("Hello").innerHTML = response;
- }
- }
- }
- //发送客户端的请求
- function sendRequest(url){
- //1.创建XMLHttpRequest
- createXMLHttpRequest();
- //2.设置回调函数
- XMLHttpReq.onreadystatechange=handleResponse;
- //3.初始化XMLHttpRequest组建并发送请求
- XMLHttpReq.open("GET",url,true);
- //发送请求
- XMLHttpReq.send(null);
- }
- //开始调用Ajax的功能
- function sayHello()
- {
- var name=document.getElementById("name").value;
- //发送请求
- sendRequest("SayHell?name="+name);
- }
- </script>
- </head>
- <body>
- <font size="1">
- name:<input type="text" id="name"/>
- <input type="button" value="提交" onclick="sayHello()"/>
- <div id="Hello"></div>
- </font>
- </body>
- </html>
- 至于后台接收了数据该如何处理,以及如何封装成json数据格式,如何传输更多格式等,请期待后期更新。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。