Ajax使用的五步法
Ajax使用的五步法<script type="text/javascript"> //用于保存XMLHttpRequest对象的变量,由于整个过程中必须使用同一个XMLHttpRequest对象,所以要定义成全局的 var xmlhttp; function submit() { //第一步:创建XMLHttpRequest对象 if(window.XMLHttpRequest){ //对于IE7,IE8,firefox,Mozilla,Safari浏览器都能满足这个条件 xmlhttp=new XMLHttpRequest(); //这段代码是为了解决某些版本的mozilla浏览器在XMLHttpRequest对象接收服务器返回的xml数据会出问题的一个bug而添 //加的,目前来说属于一个小众事件,所以只需要知道这是个修复小众bug的代码段 if(xmlhttp.overrideMimeType){ xmlhttp.overrideMimeType("text/xml"); } }else if(window.ActiveXObject){ //上面的浏览器也能满足这个条件,但是上面的自带了XMLHttpRequest对象,所以没有必要再利用这个来创建。 //IE6和IE5的判断条件 //由于不同浏览器所支持的Activex版本不同,为了对不同版本的浏览器都能定义出XMLHttpRequest对象,创建的时候遍历 所有版本的Activex控件版本,总有一个当前浏览器支持 var activexName=['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP']; for(var i=0;i<activexName.length;i++){ try{ xmlhttp=new ActiveXObject(); break; } catch(e){ } } } //alert(xmlhttp); if(xmlhttp==undefined||xmlhttp==null){ alert("您的浏览器太老,请更换版本。"); return; } //第二部:注册回调方法,当服务器处理结束返回数据以后利用回调方法实现局部的页面刷新数据 //这个回调方法实际上在每次XMLHttpRequest对象的readyState属性的值发生变化的时候都会被调用,但是我们实际上只关心 //readyState==4(与服务器交互结束)这一种情况。 xmlhttp.onreadystatechange=callback; //获得文本框输入内容 var userName=document.getElementById("UserName").value; /*这个是使用GET方式的设置方式---------------------------------------------------------------------------------------------------------------------- //第三步:设置和服务器交互的相应参数 //制定servlet页面是AJAX,由于使用的是GET方法,所以参数要自己拼出来,ture表示是“异步” xmlhttp.open("GET","AJAX?name="+userName,true); //第四步:设置向服务器发送的数据,启动和服务器端交互 xmlhttp.send(null); //由于我们使用的是“GET”,所有数据斗拼在url中,这里的参数是null,如果使用“Post”就必须有参数了---------------------------------------------------------------------------------------------------------------------- */ //使用post方式 //第三步:设置和服务器交互的相应参数 xmlhttp.open("POST","AJAX",true); //使用POST方式需要多加的代码,[url=http://www.woyinwose2.com.cn]我淫我色[/url]手动添加一个Http请求的头信息。这段代码的工作本来是由浏览器帮助完成的 xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //第四步:设置向服务器发送的数据,启动和服务器端交互 xmlhttp.send("name="+ userName); } function callback(){ //alert('------------'); //第五步:判断和服务器交互是否完成,还要判断服务器端是否正确返回数据 if(xmlhttp.readyState==4){ //表示和服务器的交互已经完成 if(xmlhttp.status==200){ //服务器端响应代码是200,正确返回了数据 //纯文本数据的接受方法 var message = xmlhttp.responseText; //xml对应的DOM对象接受方法, //[url=http://www.yuputuan.org]玉蒲团[/url]接受这个需要服务器端设置content-type为text/xml //var docXml = xmlhttp.responseXML; //把从服务器端返回的数据动态填充到div标签中 //记忆向div中填充文本的方法 var div = document.getElementById("message"); div.innerHTML = message; } } } </script>Ajax使用的五步法的更多相关文章
- AJAX核心--XMLHttpRequest五步法
引言: AJAX=异步Javascript + XML,AJAX是一种用于创建高速动态网页的技术. 开门见山: 解读:AJAX使用XHTML和CSS为网页表示.DOM动态显示和交互,XML进行数据交换 ...
- ETL构建数据仓库五步法
原文:http://huangy82.blog.163.com/blog/static/49069827200923034638409/ ETL构建企业级数据仓库五步法 在数据仓库构建中,ETL贯穿于 ...
- 鲲鹏性能优化十板斧——鲲鹏处理器NUMA简介与性能调优五步法
TaiShan特战队六月底成立,至今百日有余,恰逢1024程序员节,遂整理此文,献礼致敬!希望能为广大在鲲鹏处理器上开发软件.性能调优的程序员们,提供一点帮助.从今天开始,将陆续推出性能调优专题文章. ...
- 鲲鹏性能优化十板斧之前言 | 鲲鹏处理器NUMA简介与性能调优五步法
鲲鹏处理器NUMA简介 随着现代社会信息化.智能化的飞速发展,越来越多的设备接入互联网.物联网.车联网,从而催生了庞大的计算需求.但是功耗墙问题以功耗和冷却两大限制极大的影响了单核算力的发展.为了满足 ...
- ajax readyState的五种状态详解
通过ajax的readyState的值,我们可以知道当前的这个http请求处于什么状态.对于web的调试是比较重要的. readyState 状态说明: (0)未初始化 此阶段确认XMLHttpReq ...
- 原生ajax请求的五个步骤
//第一步,创建XMLHttpRequest对象 var xmlHttp = new XMLHttpRequest(); function CommentAll() { //第二步,注册回调函数 xm ...
- AJAX应用的五个步骤
1.建立xmlHttpRequest对象 if(window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); if(xmlHttp.ov ...
- 框架基础:ajax设计方案(五)--- 集成promise规范,更优雅的书写代码
距离上一篇博客书写,又过去了大概几个月了,这段时间暂时离开了这个行业,让大脑休息一下.一个人旅行,一个人休息,正好也去完成一个目标 --- 拥有自己的驾照.当然,也把自己晒的黑漆马虎的.不过这一段时间 ...
- jquery基础学习之AJAX篇(五)
理解不深,只知道这么用 jquery 中ajax的请求方法 $.ajax({ url:‘http://...’, //请求网址 type:'GET', //请求方法 success:function( ...
随机推荐
- lambda函数式编程
一.接口注解(@FunctionalInterface) @FunctionalInterface interface Interface1 { public void print(); } publ ...
- Java JTable列顺序和列宽度保存在用户本地
上周碰到了一个棘手的需求,就是要把用JTable的列顺序和列宽度保存下来,这次用户调整了列宽度,关闭程序,下次再打开时,这个列的宽还是要保持,因为SWing的特性,都是在程序启动时就确定了列顺序和列宽 ...
- resin4.0服务器远程调试说明
1.开发环境介绍: 目前dev用resin 作为服务容器.服务调用之间过于复杂,要进行本地代码调试过于复杂,甚至无法进行.但是可以通过jvm的远程代码调试来达到本地代码调试的目的,步骤如下. 2.re ...
- 11Linux_sshd_Apache
1.Linux系统中一切都是文件. 2.配置服务实际上就是在修改配置文件. 3.重启相应服务来加载最新的配置参数. 4.为了保证下次还生效,加入到开机启动项中.
- sql存储过程调用示例
1.配置文件: <connectionStrings> <add name="constr" connectionString="data source ...
- H5自定义金额键盘,改良后ios体验效果流畅
下载的别人的插件改良一下,源码地址:https://github.com/XieTongXue/how-to/tree/master/pay-h5 没有插件,直接来代码 <div class=& ...
- 【C++】纯C++实现http打开网页下载内容的功能
#include "stdafx.h" #include <windows.h> #include <iostream> #include "Wi ...
- cmake: error: symbol(s) not found for architecture x86_64 mac os 使用boost asio
最近在使用boost的asio库,在mac osx 上编写网络服务程序报错: :-1: error: symbol(s) not found for architecture x86_64 然后在CM ...
- jar 接收utf-8字符乱码现象
1.今天用php去调用jar出现乱码现象 需要对传递的中文字符进行编码之后再传递这里我用的是urlencode编码,让后java再解码就正常了 这里贴一下代码: <?phpexec(" ...
- Django 日志输出及打印--logging
Django使用python自带的logging作为日志打印工具. logging是线程安全的,主要分为4部分: Logger 用户使用的直接接口,将日志传递给Handler Handler 控制日志 ...