网页开发技术Ajax入门

    xiaoxiao2025-04-25  11

    对于一个简单的Ajax开发技术简单来分有以下几部分:

    1.XMLHttpRequest对象创建 简单的对象创建方法:

           var xmlHttp;         if(window.XMLHttpRequest){             xmlHttp=new XMLHttpRequest();  //一般现在的浏览器都支持带有XMLHttpRequest         }else{             xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//老版本的浏览器         }

    2.XMLHttpRequest对象请求后台 open(method,url,async) 规定请求的类型、URL以及是否异步处理请求。 method:请求的类型;GET POST url:文件在服务器上的位置 asynctrue(异步)或false(同步) send(string) 将请求发送到服务器。 string:仅用于POST 请求 GET还是 POSTPOST 相比,GET更简单也更快,并且在大部分情况下都能用。 然而,在以下情况中,请使用POST 请求: 无法使用缓存文件(更新服务器上的文件或数据库) 向服务器发送大量数据(POST没有数据量限制) 发送包含未知字符的用户输入时,POST GET 更稳定也更可靠 setRequestHeader(header,value) 向请求添加HTTP 头。 header:规定头的名称 value:规定头的值 xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 异步- True FalseAJAX指的是异步 JavaScript XMLAsynchronous JavaScript and XML) 。 True 的话,表示的是异步,异步表示程序请求服务器的同时,程序可以继续执行;能提高系统的运行效率; False 的话,表示同步,JavaScript会等到服务器响应就绪才继续执行。如果服务器繁忙或缓慢,应用程序会 挂起或停止。 我们一般都是用True

    例子:

    (1)get方式:

     xmlHttp.open("get", "getAjaxName?name=jack&age=11", true);

    xmlHttp.send();

    (2)post方式:

    xmlHttp.open("post", "getAjaxName", true); xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlHttp.send("name=jack&age=11");

    3:XMLHttpRequest对象响应服务器

    onreadystatechange事件 当请求被发送到服务器时,我们需要执行一些基于响应的任务。 每当readyState 改变时,就会触发 onreadystatechange 事件。 readyState属性存有 XMLHttpRequest 的状态信息。 下面是XMLHttpRequest 对象的三个重要的属性: onreadystatechange存储函数(或函数名) ,每当readyState 属性改变时,就会调用该函数。 readyState 存有XMLHttpRequest 的状态。从 0 4 发生变化。 0:请求未初始化 1:服务器连接已建立 2:请求已接收 3:请求处理中 4:请求已完成,且响应已就绪 status 200: "OK" 404:未找到页面 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。 如需获得来自服务器的响应,请使用XMLHttpRequest 对象的 responseText responseXML 属性。 属性 描述 responseText获得字符串形式的响应数据。 responseXML获得 XML 形式的响应数据。 (了解即可)

    具体代码应用与实现:

    xmlHttp.onreadystatechange=function(){   alert("readState状态:"+xmlHttp.readyState+";status状态:"+xmlHttp.status);   if(xmlHttp.readyState==4 && xmlHttp.status==200){       alert(xmlHttp.responseText);       document.getElementById("name").value=xmlHttp.responseText;//将数据返回到文本框中        }        };

    转载请注明原文地址: https://ju.6miu.com/read-1298419.html
    最新回复(0)