最简单的ajax例子

最简单的ajax例子自从JesseJamesGarrett创造了AJAX这个名词,到现在已经过去十八个月了,AJAX几乎让Web开发彻底改头换面。在这一年半的时间里,发生了很多事情,包括Web2.0的热炒,许多创建或使用富互联网技术公司的诞生或复苏,还有真正动态化的在线软件层出不穷。很明显,AJAX这个名词受到开发业界的广欢迎,已经真正的走入到我们生活中,Web应用程序也达到前所未有的发展。  如此火爆的

大家好,又见面了,我是你们的朋友全栈君。自从Jesse James Garrett创造了AJAX这个名词,到现在已经过去十八个月了,AJAX几乎让Web开发彻底改头换面。在这一年半的时间里,发生了很多事情,包括Web 2.0的热炒,许多创建或使用富互联网技术公司的诞生或复苏,还有真正动态化的在线软件层出不穷。很明显,AJAX这个名词受到开发业界的广欢迎,已经真正的走入到我们生活中,Web应用程序也达到前所未有的发展。

   如此火爆的技术难道我们还不去体验下吗?

   首先推荐大家两本中文版ajax书(相信不少人都有了),Ajax.基础教程和AJAX In Action, 因为文件比较大电子邮件无法发送。有需要的朋友可以加我QQ 373437(请注明javaeye) 我可以发给大家,我基本每天在线的。

   下面就开始我们第一次ajax 之旅吧

   下面介绍的是一个最简单的ajax完整例子, 为了让完全没有接触过ajax的朋友看懂,我写了非常详细的注释 请不要嫌我罗嗦:)

  simple.jsp 文件代码

<!–age contentType=”text/html; charset=GBK–>

<script type=”text/javascript”>

//定义一个变量,用来指向XMLHttpRequest对象
var xmlHttp;

//异步请求时调用的方法
function startRequest()
{

  //该方法用来产生一个XMLHttpRequest对象
  createXMLHttpRequest();
 
  /**将XMLHttpRequest的属性onreadystatechange存储了回调函数的指针
     如果XMLHttpRequest的readyState改变时就会调用回调函数,和C#里的委托是类似的
     这里将指针指向了handlestatechange方法**/
  xmlHttp.onreadystatechange=handlestatechange;
 
  /*打开对服务器的调用第一个参数用来指定是get还是post方法访问,第二个参数是要访问的路径*/
  xmlHttp.open(“GET”,”simple.xml”);
 
  //向服务器发送请求
  xmlHttp.send(null);
}

//改方法用来针对不同的浏览器产生一个XMLHttpRequest对象
function createXMLHttpRequest()
{

  //判断如果浏览器是IE
  if(window.ActiveXObject)
  {

    xmlHttp=new ActiveXObject(“Microsoft.XMLHTTP”);
  }
  //非IE的浏览器
  else if(windox.XMLHttpRequest)
  {

    xmlHttp = new XMLHttpRequest();
  }
}

//XMLHttpRequest的readyState改变时调用改方法
function handlestatechange()
{

  //readyState有5个值,4表示请求完成,其他是0=未初始化,1=正在加载,2=以加载,3=交互中
  if(xmlHttp.readyState==4)
  {

    //status 表示服务器请求状态 下面列出了一些基本状态
    if(xmlHttp.status==200)
    {alert(“请求成功”);
      alert(“server:++++++++++”+ xmlHttp.responseText);
    }
    if(xmlHttp.status==202)
    {alert(“请求被接收,但处理未完成”);
      alert(“server:++++++++++”+ xmlHttp.responseText);
    }
    if(xmlHttp.status==400)
    {alert(“错误的请求”);
      alert(“server:++++++++++”+ xmlHttp.responseText);
    }
    if(xmlHttp.status==404)
    {alert(“请求资源未找到”);
      alert(“server:++++++++++”+ xmlHttp.responseText);
    }
    if(xmlHttp.status==500)
    {alert(“内部服务器错误 代码问题”);
      alert(“server:++++++++++”+ xmlHttp.responseText);
    }

  }
}
</script>

<!–点击该按钮时调用异步请求–>
<input type=”button” οnclick=”startRequest();” value=”ajax”/ > 

<!– 下面是一些和ajax无关的静态代码 –>

 

<!– 下面是一些和ajax无关的静态代码 –>

 

注意看提交后页面是不是全部刷新

在目前的Web2.0热潮中,Ajax已成为人们谈论最多的技术术语!其实,AJAX(Asynchronous JavaScript and XML)是多种技术的综合,它使用XHTML和CSS标准化呈现,使用DOM实现动态显示和交互,使用XML和XSTL进行数据交换与处理,使用XMLHttpRequest对象进行异步数据读取,使用Javascript绑定和处理所有数据。更重要的是它打破了使用页面重载的惯例技术组合,可以说AJAX已成为Web开发的重要武器!

simple.xml代码
可以随便写点东西,这里就不帖了

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158773.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python对随机森林分类结果绘制roc曲线

    python对随机森林分类结果绘制roc曲线上图:附上代码:一个函数,传入三个参数…..传入参数,训练模型,然后:fit=model.fit(x_train,y_training)#ROCy_score=model.fit(x_train,y_training).predict_proba(x_test)#随机森林fpr,tpr,thresholds=roc_curve(y_test,…

    2022年5月17日
  • 跳跃性思维的一些特征【转】

    跳跃性思维的一些特征【转】好吧!我勇敢地承认我是跳跃性思维。跳跃性思维又称选单式思考,经常讲话前言后语不搭,跳跃性很强;一边和别人在聊天,同时想到完全不搭的另外事;旁人聊天时却很迷惑,浑然不知我在表达什么。当你谈话后意识到我时

    2022年8月4日
  • Java三大器之拦截器(Interceptor)的实现原理及代码示例「建议收藏」

    Java三大器之拦截器(Interceptor)的实现原理及代码示例「建议收藏」过滤器与拦截器的区别过滤器可以简单的理解为“取你所想取”,过滤器关注的是web请求;拦截器可以简单的理解为“拒你所想拒”,拦截器关注的是方法调用,比如拦截敏感词汇。4.1,拦截器是基于java反射机制来实现的,而过滤器是基于函数回调来实现的。(有人说,拦截器是基于动态代理来实现的)4.2,拦截器不依赖servlet容器,过滤器依赖于servlet容器。4.3,拦截器只对Action起作用,过滤器可以对所有请求起作用。4.4,拦截器可以访问Action上下文和值栈中的对象,过滤器不能。4

    2022年6月4日
  • python读取图像的几种方法

    python读取图像的几种方法方法一:利用PIL中的Image函数,这个函数读取出来不是array格式这时候需要用np.asarray(im)或者np.array()函数区别是np.array()是深拷贝,np.asarray()是浅拷贝fromPILimportImageimportnumpyasnpI=Image.open(‘./cc_1.png’)I.show()

    2022年6月19日
  • 局域网vlan配置步骤_局域网vlan划分案例

    局域网vlan配置步骤_局域网vlan划分案例计算机网络技术的发展犹如戏剧舞台,你方唱罢我登台。从传统的以太网(10Mb/s)发展到快速以太网(100Mb/s)和千兆以太网(1000Mb/s)也不过几年的时间,其迅猛的势头实在令人吃惊。而现在中大型规模网络建设中,以千兆三层交换机为核心的所谓“千兆主干跑、百兆到桌面”的主流网络模型已不胜枚举。现在,网络业界对“三层交换”和VLAN这两词已经不感到陌生了。一、什么是三…

    2022年9月18日
  • Python中if __name__ == ‘__main__‘:的作用和原理「建议收藏」

    Python中if __name__ == ‘__main__‘:的作用和原理「建议收藏」if__name__==’__main__’:的作用一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if__name__==’main’:的作用就是控制这两种情况执行代码的过程,在if__name__==’main’:下的代码只有在第一种情况下(即文件作为脚本直接执行)才会…

    2022年6月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号