zoukankan      html  css  js  c++  java
  • JavaScript实现Ajax小结

    JavaScript实现Ajax小结

    Ajax大家应该都很熟悉,在此总结一下备忘。

    至于Ajax的优点就不多说了,实现动态刷新,提升用户体验,缺点也还不少,比如破坏了浏览器的back功能,同一个URL打开的界面并不是完全相同,还有安全性能等方面,但是这些也阻挡不了我们使用Ajax的脚步~~~

    这里以表单为例说一下实现Ajax的步骤:

    1. 先从表单中获取我们需要的数据
    2. 然后建立相应的URL
    3. 设置onreadystatechange函数
    4. 打开连接
    5. 发送请求

    以上就是Ajax的实现步骤,接下来简单分步总结下。

    首先是关于xrh对象的建立。

    function creatXhr(){
    	var xhr=null;
    	if(window.XMLHttpRequest){
    		xhr=new XMLHttpRequest();
    	}else{
    		xhr=new ActiveXObject("Microsoft.xhr");
    	}
    }

    稍完整的可以这样写:

    function creatXhr(){
    	var xhr=null;
    	try{
    	  xhr=new ActiveXObject("Msxml2.XMLHTTP");
    	}catch (e){
    	  try {
    	    xhr=new ActiveXObject("Microsoft.XMLHTTP");
    	  }catch (e2){
    	    xhr=false;
    	  }
    	}
    	if(!xmlHttp && typeof XMLHttpRequest != 'undefined') {
    	  xhr=new XMLHttpRequest();
    	}
    }

    以上对ie和非ie浏览器多做了兼容处理。

    然后就该发送Ajax请求了,下面以一个表单项country为例:

    function callReqest(){
    	var country=document.getElementById('country').value;
    	if((country==null)||(country==''))
    		return;
    	var url='example.php?country='+encodeURIComponent(country);
    	xhr.onreadystatechange=update;
    	xhr.open('GET',url,true);
    	xhr.send(null);
    }

    以上获取了一个country表单项,onreadystatechange函数是readystate发生变化时触发的事件,可以以此来判断是否需要发生动作。

    onreadystatechange函数如下:

    function onreadystatechange(){
    	if((xhr.onreadystatechange==4)&&((xhr.state==200)||((xhr.state>200)&&(xhr.state<300)))){
    		document.getElementById('countryCode').value=xhr.responseText;
    	}
    }

    onreadystatechange等于4的时候,说明资源已然完全下载到客户端了,可以使用了,同时查看状态码,在200到300之间,左闭右开,即可进行刷新,这里只是简单的将responseText给了一个表单项,当然也可以返回XML等相关数据,相关内容可查看其他相关介绍。

    最后,至于触发Ajax,可以在表单的country里面添加onChange事件,这样用户在输入表单时就会触发Ajax了。

  • 相关阅读:
    行转列 && 字段拆分
    sqlserver 生成随机值
    mysql查询增加自增列
    Graphx二度关系
    IDEA创建scala项目
    kibana安装
    二十五、Hadoop学记笔记————Hive复习与深入
    二十六、Hadoop学习笔记————Hadoop Yarn的简介复习
    二十四、Hadoop学记笔记————Spark的架构
    二十三、Hadoop学记笔记————Spark简介与计算模型
  • 原文地址:https://www.cnblogs.com/dengchangliang/p/4865608.html
Copyright © 2011-2022 走看看