创建最原始的XMLHttprequest对象
一般我们都是使用框架来进行AJAX技术的实现,在早期还没有这些js框架的时候是如何实现ajax的技术的呢?
创建XHR对象的代码如下:
- var xmlhttp;
- function XHRsubmit(){
- var userName = document.getElementById("username").value;
- //创建XMLHttprequest对象,每个浏览器的这个对象都是不相同的,所以这个是最复杂的一步
- //需要针对IE和其他类型的浏览器建立这个对象的不同方式写不同的代码
- if(window.XMLHttpRequest){
- //针对FireFox,Mozillar,Opera,Safari,IE7,IE8,IE9
- xmlhttp = new XMLHttpRequest();
- //针对某些特定版本的mozillar浏览器的BUG进行修正
- if(xmlhttp.overrideMimeType){
- xmlhttp.overrideMimeType("text/xml");
- //alert(xmlhttp);
- }
- }else if(window.ActiveXObject){
- //针对IE6,IE5.5,IE5通过ActiveXObject创建
- var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
- for(var i =0; i<activexName.length; i++){
- try{
- //取出一个控件名进行创建,如果创建成功就终止循环
- //如果创建失败,会抛出异常,然后继续循环,继续尝试创建
- xmlhttp = new ActiveXObject(activexName[i]);
- break;
- }catch(e){
- }
- }
- //queryXMLHttpRequest对象创建成功
- }
- if(xmlhttp){
- alert("XMLHttpRequest对象创建成功");
- }else{
- alert("XMLHttpRequest对象创建失败");
- return ;
- }
- //注册回调函数
- //注册回调函数时,只需要函数名不要加括号
- xmlhttp.onreadystatechange = callback2;
- //GET方式请求
- //xmlhttp.open("GET","TestAction!test2.action",true);
- //POST方式请求需要自己设置http的请求头
- xmlhttp.open("POST","TestAction!test2.action",true);
- xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- //4.发送数据,开始和服务端交互
- //同步下,send这句话会等服务端数据回来后才执行完
- //异步下,sned这句话会立即执行
- xmlhttp.send("name="+$("#username").val());
- //xmlhttp.send(null);
- }
- //回调函数
- function callback2(){
- //alert(xmlhttp.readyState);
- //5接收响应数据
- //判断对象的状态是否交互完成
- if(xmlhttp.readyState == 4){
- //判断http的交互是否成功
- if(xmlhttp.status == 200){
- //获取服务器端返回的数据
- //获取服务器端输出的纯文本数据
- var responseText = xmlhttp.responseText;
- //将数据显示在页面上
- //通过dom的方式找到div标签对应的元素节点
- var divNode = document.getElementById("result");
- //设置元素节点中的html内容
- divNode.innerHTML = responseText;
- }else{
- alert("出错了");
- }
- }else{
- //alert("出错了1");
- }
- }
- <input id="username" name="username" value="请输入..."></input>
- <input type="button" onclick="XHRsubmit()" value="使用XHR的post方法提交"/>
转载于:https://blog.51cto.com/xqsea/1119643
创建最原始的XMLHttprequest对象相关推荐
- 转载 Xmlhttprequest对象池
2019独角兽企业重金招聘Python工程师标准>>> 在ajax应用中,通常一个页面要同时发送多个请 求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就 ...
- [转]建一个XMLHttpRequest对象池
在ajax应用中,通常一个页面要同时发送多个请求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就会把前面的覆盖掉,如果每次都创建一个新的XMLHttpRequest对象,也 ...
- 建一个XMLHttpRequest对象池
在ajax应用中,通常一个页面要同时发送多个请 求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就会把前面的覆盖掉,如果每次都创建一个新的 XMLHttpRequest对象 ...
- Ajax入门(创建 XMLHttpRequest 对象)
XMLHttpRequest 是 AJAX 的基础. 所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject). XMLHttpRequest ...
- AJAX - 创建XMLHttpRequest 对象
AJAX - 创建XMLHttpRequest 对象 · Previous Page · Next ...
- Ajax基础--创建XMLHttpRequest对象
var http_request = false; function send_request(url) {//初始化,指定处理函数,发送请求的函数 http_request = false;//开始 ...
- ajax(判断浏览器创建xmlhttprequest对象),XMLHTTPRequest对象的创建与浏览器的兼容问题...
MLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始. 了解XMLHttpRequest 对象就先从创建XMLHttpRequest ...
- Ajax中XMLHttpRequest对象的详细解析
| responseXML | 服务器的相应,表示为XML,这个对象可以解析为一个DOM | | status | 服务器的HTTP状态码 | | statusText | HTTP状态的对应文本 | ...
- XMLHttpRequest 对象
XMLHttpRequest 对象用于在后台与服务器交换数据. 什么是 XMLHttpRequest 对象? XMLHttpRequest 对象用于在后台与服务器交换数据. XMLHttpReques ...
最新文章
- 大数据目标检测推理管道部署
- 中tr不能显示字符_BeautifulSoup4中find 和find_all的比较
- R语言plotly可视化:plotly可视化箱图、相同数据集对比使用不同分位数算法的可视化差异(quartilemethod参数、linear、inclusive、exclusive)
- 方立勋_30天掌握JavaWeb_(JSP+JavaBean实现)简单计算器
- android获取设备的唯一编号,android如何获取设备的唯一设备码
- ring0和ring3的区别
- PHP for 循环
- web手机服务器系统,web手机服务器系统
- vivado使用方法(初级)
- 手指静脉图像采集终端的设计和实现
- gallary 实现类似viewpage 的效果 左右可见
- 如何把app运行在手表和电视上
- 保姆级 | ChatGPT接入微信教程
- 计算机教室在哪儿英语,教室的英文是什么
- React: error An unexpected error occurred: “EPERM: operation not permitted, rename...
- (301,302,304,404,500)等HTTP状态码含义
- MTK相机调试adb命令
- 【Go】Goland下载与安装教程(详细)
- redis设计原理009持久化策略
- 改善程序员生活质量的3+10习惯
热门文章
- Weblogic Server 的下载,安装配置与部署
- mysql模糊查询索引失效_MySql学习笔记(九):索引失效
- IDEA切换全屏模式
- mysql 备份脚本 linux,LINUX中MySQL如何按时备份脚本
- mysql的底层数据结构_MySQL索引底层数据结构实现原理
- python开发环境哪个好 博客园_我选用的Python开发环境
- vue ---- 动态组件
- RabbitMQ学习笔记:安装环境
- fastjson转json字符串按字母大小排序
- 《Android Studio开发实战 从零基础到App上线(第2版)》常见问题解答