完整的 AJAX 写法(支持多浏览器)
代码如下:
<script type="text/javascript">
var xmlhttp;
function Submit() {
//1.创建 XMLHttpRequest 对象
if (window.XMLHttpRequest) {
//IE7,IE8,FireFox,其它
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
//针对某些特定版本的mozillar浏览器的BUG进行修正
xmlhttp.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) {
//IE6,IE5.5,IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
// 简单写法,应该也可以
//xmlhttp = new XMLHttpRequest()|| new ActiveXObject("Microsoft.XMLHTTP");
if (xmlhttp == undefined || xmlhttp == null) {
alert('当前浏览器不支持创建XMLHttpRequest对象,请更换浏览器!');
return;
}
//将每次的状态保存到 数组里
array.push(xmlhttp.readyState);
//2.注册回调方法 callback
xmlhttp.onreadystatechange = callback;
//获取客户端内容
var userName = document.getElementById("UserName").value;
/*
//Get 请求方式
//3.设置和服务端交互的相应参数
xmlhttp.open("Get", "AjaxRequst.ashx?name="+userName, true);
//4.设置向服务器发送数据,启动和服务端的交互
xmlhttp.send();
*/
//Post 请求方式
//3.设置和服务端交互的相应参数
xmlhttp.open("Post", "AjaxRequst.ashx", true);
//Post方式需要增加的代码
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//4.设置向服务器发送数据,启动和服务端的交互
xmlhttp.send("name="+userName);
}
function callback() {
//5.判断和服务器端的交互是否完成,还要判断服务端的是否正确返回了数据
if (xmlhttp.readyState == 4) {
//表示和服务端的交互已经完成
if (xmlhttp.status == 200) {
//表示服务器的响应代码是200,正确的返回数据
//纯文件数据的接受方法
var message = xmlhttp.responseText;
//将返回的内容添加到DIV层里
var div = document.getElementById('message');
div.innerHTML = message;
//XML数据对应的DOM对象的接受方法
//使用前提是,服务器端需要设置content-type为text/xml
//var domXml = xmlhttp.responseXML;
}
}
}
</script>
完整的 AJAX 写法(支持多浏览器)的更多相关文章
- js将HTML中table导出到EXCEL word (只支持IE) 另用php 配合AJAX可以支持所有浏览器
转载请注明来源:https://www.cnblogs.com/hookjc/ <HTML> <HEAD> <title>WEB页面导出为EXC ...
- 使用 fetch 代替 ajax(在不支持的浏览器上使用 XHR); This kind of functionality was previously achieved using XMLHttpRequest.
原生 JS Ajax,GET和POST 请求实例代码_javascript技巧_脚本之家 https://www.jb51.net/article/86157.htm 更新时间:2016年06月08日 ...
- 第三十六课:如何书写一个完整的ajax模块
本课主要教大家如何书写一个完整的ajax模块,讲解的代码主要跟ajax有关,而jQuery的ajax模块添加了Deferred异步编程的机制,因此对ajax的理解难度增大,还是忽略掉.但是我要讲解的代 ...
- 原生Ajax写法(GET)
ajax的GET提交方式的原生代码: var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else if(w ...
- Struts2对AJAX的支持
一.简介 struts2确实一个非常棒的MVC框架.这里部分记述一下struts2对AJAX的支持.实现AJAX有两种方式,一种是使用原生的javascript代码实现,一种是使用第三方 ...
- MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)
该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的Upda ...
- Unit02: JSON 、 使用JSON实现数据交换 、 jQuery对AJAX的支持,编码问题
Unit02: JSON . 使用JSON实现数据交换 . jQuery对AJAX的支持 1. 编码问题 (1)发送get请求 为什么会产生乱码? ie浏览器提供的ajax对象,对中文会使用gbk来编 ...
- IT兄弟连 JavaWeb教程 jQuery对AJAX的支持
jQuery对AJAX的支持 jQuery对Ajax请求的创建.发送.响应.注册数据处理函数.JSON的解析和缓存以及传参等都进行了相应的封装,同时也考虑了浏览器的兼容性问题. jQuery中对AJA ...
- Kendo UI for jQuery使用教程:支持Web浏览器
[Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...
随机推荐
- 如何自己编译生成Eclipse插件,如hadoop-eclipse-plugin-2.2.0.jar
如何自己编译生成Eclipse插件,如hadoop-eclipse-plugin-2.2.0.jar http://cxshun.iteye.com/blog/1876366 大数据是当今的一个热门话 ...
- poj 1273 Drainage Ditches【最大流入门】
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 63924 Accepted: 2467 ...
- Xsocket学习
1.xsocket是一个轻量级的基于NIO的服务器框架,用于开发高性能.可扩展.多线程的服务器.该框架封装了线程处理,异步读写等方面的操作. 定义一个借口,继承IDataHandler,IConnec ...
- Windows7 64位机上Emgu CV2.4.2安装与配置
Windows7 64位机上Emgu CV2.4.2安装与配置 分类: Emgu CV 2012-11-28 17:22 92 ...
- 调用webservice,解析返回数据为xml格式的字符串,进行数据绑定
DataSet ds = new DataSet(); byte[] byteArray = System.Text.Encoding.Unicode.GetBytes("<?xml ...
- fastjson对Date的处理
对日期的序列化: 一种方法是通过注解 Java代码 ? 1 2 @JSONField (format="yyyy-MM-dd HH:mm:ss") public Date bi ...
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完毕測试代码)
MD5和RSA是网络传输中最经常使用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,仅仅能加密而不能解密. ...
- Rational Rose 2007 &Rational Rose 2003 下载及破解方法和汉化文件下载
这么好的东西,不拿来出分享,我对不起原作者呀.可是我这里不知道作者是谁,感谢在先了. ed2k://|file|%5BIBM%E8%BD%AF%E4%BB%B6%E7%B3%BB%E5%88%97%5 ...
- Safari浏览器Session问题
Safari浏览器中经常出现session无法写入或同一个会话中Session ID常变动的事情.尤其以iOS7版本居多. 问题本身并不难猜,应该就是cookie无法写入引起的.奇怪的是,部分同版本的 ...
- Windows Mobile 6.0 SDK和中文模拟器下载
[转] Windows Mobile 6.0 SDK和中文模拟器下载 Windows Mobile 6.5 模拟器 2010年12月06日 星期一 07:48 转载自 zhangyanle86 终于编 ...