Ajax--JavaScript实现

Ajax:一种不用刷新整个页面便可与服务器通讯的办法
  Ajax实现的步骤:

    1、创建XMLHttpRequest对象

    2、服务器向浏览器响应请求(注册监听)

    3、浏览器与服务器建立连接

    4、浏览器向服务器发送请求

    readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
                0 代表未初始化。 还没有调用 open 方法
                1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
                2 代表已加载完毕。send 已被调用。请求已经开始
                3 代表交互中。服务器正在发送响应
                4 代表完成。响应发送完毕
                
            常用状态码及其含义:
                404 没找到页面(not found)
                403 禁止访问(forbidden)
                500 内部服务器出错(internal service error)
                200 一切正常(ok)
                304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )

    xhr.open(method, url, asynch);
             * 与服务器建立连接使用
             * method:请求类型,类似 “GET”或”POST”的字符串。
             * url:路径字符串,指向你所请求的服务器上的那个文件。请求路径
             * asynch:表示请求是否要异步传输,默认值为true(异步)。

    send()方法:
                   * 如果浏览器请求的类型为GET类型时,通过send()方法发送请求数据,服务器接收不到    
                   * 如果浏览器请求的类型为POST类型时,通过send()方法发送请求数据,服务器可以接收

Demo:

Get方式

window.onload=function()
{
    document.getElementById("ok").onclick=function(){
        var xhr=createXmlHttpRequest();//获取XmlHttpRequest对象

        xhr.onreadystatechange=function(){//回调函数
            if(xhr.readyState==4){//回调状态
                if(xhr.status==200 || xhr.status==304)//服务器状态吗
                {
                    var date=xhr.responseText;//服务器返回数据
                    alert(date);
                }
            }
        };
        var id="A001";
        alert(id);
        xhr.open("GET","../testGetServelet?id="+id,true);//1、发送方式2、页面路径,3、请求是否异步,默认为true
        xhr.send(null);//发送数据--get方式,这里不用写数据,即使写了数据服务器端也无法接收
    };

    function createXmlHttpRequest(){
           var xmlHttp;
           try{    //Firefox, Opera 8.0+, Safari
           xmlHttp=new XMLHttpRequest();
            }catch (e){
                   try{    //Internet Explorer
                  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
                   }catch (e){
                      try{
                          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                      }catch (e){}
           }
    }
   return xmlHttp;
 }

};
 1 Post方式
 2
 3 window.onload=function(){
 4     document.getElementById("ok").onclick=function(){
 5         var xhr=createXmlHttpRequest();
 6         xhr.onreadystatechange=function(){
 7             if(xhr.readyState==4)
 8             {
 9                 if(xhr.status==200 || xhr.status==304)
10                 {
11                     var data=xhr.responseText;
12                     alert(data);
13                 }
14             }
15         };
16
17         xhr.open("post","../testGetServelet",true);
18         //如果是POST请求方式,设置请求首部信息
19          xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
20          xhr.send("a=1&b=2");
21     };
22
23     function createXmlHttpRequest(){
24            var xmlHttp;
25            try{    //Firefox, Opera 8.0+, Safari
26            xmlHttp=new XMLHttpRequest();
27             }catch (e){
28                    try{    //Internet Explorer
29                   xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
30                    }catch (e){
31                       try{
32                           xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
33                       }catch (e){}
34            }
35     }
36    return xmlHttp;
37  }
38
39 };
时间: 2024-10-12 01:10:29

Ajax--JavaScript实现的相关文章

自己封装的Ajax - JavaScript

1. [代码][JavaScript]代码      //javascript Object: ajax Object//Created By RexLeefunction Ajax(url,data){    this.url=url;    this.data=data;    this.browser=(function(){          if(navigator.userAgent.indexOf("MSIE")>0) {              return &

html --- ajax --- javascript --- 简单的封装

Ajax的简单封装 Ajax的全称是AsynchronousJavaScriptAndXML 如有疑问请参考:http://zh.wikipedia.org/zh-cn/AJAX 以及传智播客的视频教程:http://java.itcast.cn/news/8308d118/740a/4dcd/8dbf/c73d2fe5bc60.shtml 其实已经有好多框架对它进行了封装,但是还是有好多时候用到自己封装的 透露一下,本人是宇多田光的听众之一哦! 封装后的代码如下: 文件路径:\web\Ajax

AJAX & JavaScript Barcode Generator集成到AJAX Web应用程序创建条形码图像

AJAX & JavaScript Barcode Generator是原生的JavaScript,用于创建条形码图像,它可以很容易地集成到AJAX Web应用程序,Oracle报表和HTML中.因为它是原生的JavaScript ,所以不需要安装任何额外的组件,字体或插件来创建条形码,它还是功能完善的JavaScript条形码生成空控件. 具体功能: 多种条形码类型被一个单个的产品所支持. 多地区兼容性-本产品兼容了所有的语言和地区设置,包括Windows的双字节版本,如用于中国和日本,以及亚

js day44 Jquery(筛选,事件,效果,Ajax,javascript跨域)

1     筛选[掌握]     筛选与之前"选择器"雷同,筛选提供函数 1.1   过滤 eq(index|-index),获取第N个元素 ?index:一个整数,指示元素基于0的位置,这个元素的位置是从0算起. ?-index:一个整数,指示元素的位置,从集合中的最后一个元素开始倒数.(1算起) first(),获取第一个元素 last(),获取最后个元素 hasClass(class),检查当前的元素是否含有某个特定的类,如果有,则返回true. filter(exp

AJAX+javascript+java servlet实例

工程名称:test 1,jsp页面: get方法页面getM.jsp:访问地址:http://127.0.0.1:8080/test/getM.jsp <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&

Ajax JavaScript学习总结

Ajax,就是异步请求,具体说就是想要更新网页的一部分内容,无需重新加载整个页面,只要发送请求更新局部页面就可以了. Ajax,不是新语言,只是一种技术 Ajax的使用依赖于XMLHttpRequest对象,对象里常用的“成员”包括:open, send,responseText,onreadystatechange 创建XHR对象: var xmlrequest = new XMLHttpRequest(); XHR发送请求: xmlrequest.open("method", &q

AJAX(javascript)

//使用异步方式addEvent(document,'click',function(){ if(window.XMLHttpRequest){ var xhr = new XMLHttpRequest(); }else{ var xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.onreadystatechange = function(){ alert(xhr.readyState); if (xhr.status == 200

AJAX简介

基本介绍 AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML). 国内翻译常为“阿贾克斯”和阿贾克斯足球队同音.Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃.这个术语源自描述从基于Web的应用到基于数据的应用的转换.在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样. Ajax的核心是Java

The Modern JavaScript Developer’s Toolbox

The Modern JavaScript Developer’s Toolbox Posted by David Haney on Mar 09, 2015 The Web Platform has gone a long way since HTML5 was first made popular and people started looking into JavaScript as a language that could do build complex apps. Many AP

现代JavaScript开发者的工具箱

自从HTML5变得流行以来,整个Web平台取得了长足的进步,人们也开始将JavaScript视为一门能够创建复杂应用的语言.许多新的API纷纷浮现,而关于浏览器如何应用这些技术的文章也大量涌现. 作为一门脚本语言,JavaScript最初创建的目的是用于增强web页面的表现能力,而现如今JavaScript几乎已经用在所有你能想到的地方了.随着整个业界的技术能力不断提高,JavaScript如今已经可以在服务端运行,同时也能够被编译为原生手机应用的代码.当今的JavaScript开发者都是整个丰