XMLHttpRequest中的ajax是怎样的
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇文章为大家展示了XMLHttpRequest中的ajax是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。调用function(Url) { var
千家信息网最后更新 2025年01月21日XMLHttpRequest中的ajax是怎样的
本篇文章为大家展示了XMLHttpRequest中的ajax是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
调用
function(Url) { var XML = new XMLHttpRequest(); XML.onreadystatechange = function() { if (XML.readyState == 4) { if (XML.status == 200) { //XML.responseText } else { //XML.statusText } } else { //数据加载中... } }; XML.open("GET",Url); XML.send(null);};
定义XMLHttpRequest 适应不同的浏览器
// IE supportif (window.ActiveXObject && !window.XMLHttpRequest){ window.XMLHttpRequest = function() { var msxmls = new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP'); for (var i = 0; i < msxmls.length; i++) { try { return new ActiveXObject(msxmls[i]); } catch (e) { } } return null; };}
// Opera supportif (window.opera && !window.XMLHttpRequest){ window.XMLHttpRequest = function() { this.readyState = 0; // 0=uninitialized,1=loading,2=loaded,3=interactive,4=complete this.status = 0; // HTTP status codes this.statusText = ''; this._headers = []; this._aborted = false; this._async = true; this._defaultCharset = 'ISO-8859-1'; this._getCharset = function() { var charset = _defaultCharset; var contentType = this.getResponseHeader('Content-type').toUpperCase(); val = contentType.indexOf('CHARSET='); if (val != -1) { charset = contentType.substring(val); } val = charset.indexOf(';'); if (val != -1) { charset = charset.substring(0, val); } val = charset.indexOf(','); if (val != -1) { charset = charset.substring(0, val); } return charset; }; this.abort = function() { this._aborted = true; }; this.getAllResponseHeaders = function() { return this.getAllResponseHeader('*'); }; this.getAllResponseHeader = function(header) { var ret = ''; for (var i = 0; i < this._headers.length; i++) { if (header == '*' || this._headers[i].h == header) { ret += this._headers[i].h + ': ' + this._headers[i].v + '\n'; } } return ret; }; this.getResponseHeader = function(header) { var ret = getAllResponseHeader(header); var i = ret.indexOf('\n'); if (i != -1) { ret = ret.substring(0, i); } return ret; }; this.setRequestHeader = function(header, value) { this._headers[this._headers.length] = {h:header, v:value}; }; this.open = function(method, url, async, user, password) { this.method = method; this.url = url; this._async = true; this._aborted = false; this._headers = []; if (arguments.length >= 3) { this._async = async; } if (arguments.length > 3) { opera.postError('XMLHttpRequest.open() - user/password not supported'); } this.readyState = 1; if (this.onreadystatechange) { this.onreadystatechange(); } }; this.send = function(data) { if (!navigator.javaEnabled()) { alert("XMLHttpRequest.send() - Java must be installed and enabled."); return; } if (this._async) { setTimeout(this._sendasync, 0, this, data); } else { this._sendsync(data); } }; this._sendasync = function(req, data) { if (!req._aborted) { req._sendsync(data); } }; this._sendsync = function(data) { this.readyState = 2; if (this.onreadystatechange) { this.onreadystatechange(); } var url = new java.net.URL(new java.net.URL_(window.location.href), this.url); var conn = url.openConnection(); for (var i = 0; i < this._headers.length; i++) { conn.setRequestProperty(this._headers[i].h, this._headers[i].v); } this._headers = []; if (this.method == 'POST') {
// POST data conn.setDoOutput(true); var wr = new java.io.OutputStreamWriter(conn.getOutputStream(), this._getCharset()); wr.write(data); wr.flush(); wr.close(); } // read response headers // NOTE: the getHeaderField() methods always return nulls for me :( var gotContentEncoding = false; var gotContentLength = false; var gotContentType = false; var gotDate = false; var gotExpiration = false; var gotLastModified = false; for (var i = 0; ; i++) { var hdrName = conn.getHeaderFieldKey(i); var hdrValue = conn.getHeaderField(i); if (hdrName == null && hdrValue == null) { break; } if (hdrName != null) { this._headers[this._headers.length] = {h:hdrName, v:hdrValue}; switch (hdrName.toLowerCase()) { case 'content-encoding': gotContentEncoding = true; break; case 'content-length' : gotContentLength = true; break; case 'content-type' : gotContentType = true; break; case 'date' : gotDate = true; break; case 'expires' : gotExpiration = true; break; case 'last-modified' : gotLastModified = true; break; } } }
// try to fill in any missing header information var val; val = conn.getContentEncoding(); if (val != null && !gotContentEncoding) this._headers[this._headers.length] = {h:'Content-encoding', v:val}; val = conn.getContentLength(); if (val != -1 && !gotContentLength) this._headers[this._headers.length] = {h:'Content-length', v:val}; val = conn.getContentType(); if (val != null && !gotContentType) this._headers[this._headers.length] = {h:'Content-type', v:val}; val = conn.getDate(); if (val != 0 && !gotDate) this._headers[this._headers.length] = {h:'Date', v:(new Date(val)).toUTCString()}; val = conn.getExpiration(); if (val != 0 && !gotExpiration) this._headers[this._headers.length] = {h:'Expires', v:(new Date(val)).toUTCString()}; val = conn.getLastModified(); if (val != 0 && !gotLastModified) this._headers[this._headers.length] = {h:'Last-modified', v:(new Date(val)).toUTCString()}; // read response data var reqdata = ''; var stream = conn.getInputStream(); if (stream) { var reader = new java.io.BufferedReader(new java.io.InputStreamReader(stream, this._getCharset())); var line; while ((line = reader.readLine()) != null) { if (this.readyState == 2) { this.readyState = 3; if (this.onreadystatechange) { this.onreadystatechange(); } } reqdata += line + '\n'; } reader.close(); this.status = 200; this.statusText = 'OK'; this.responseText = reqdata; this.readyState = 4; if (this.onreadystatechange) { this.onreadystatechange(); } if (this.onload) { this.onload(); } } else { // error this.status = 404; this.statusText = 'Not Found'; this.responseText = ''; this.readyState = 4; if (this.onreadystatechange) { this.onreadystatechange(); } if (this.onerror) { this.onerror(); } } }; };}
// ActiveXObject emulation
if (!window.ActiveXObject && window.XMLHttpRequest){ window.ActiveXObject = function(type) { switch (type.toLowerCase()) { case 'microsoft.xmlhttp': case 'msxml2.xmlhttp': case 'msxml2.xmlhttp.3.0': case 'msxml2.xmlhttp.4.0': case 'msxml2.xmlhttp.5.0': return new XMLHttpRequest(); } return null; };}
上述内容就是XMLHttpRequest中的ajax是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
内容
技能
知识
不同
简明
简明扼要
就是
数据
文章
更多
浏览器
篇文章
行业
资讯
资讯频道
频道
一亮
储备
浏览
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京进口软件开发产品介绍
大学软件开发专业学费高
服务好信誉可靠的esg数据库
rm服务器
nagios监控服务器
服务器部署数据库连接
网络安全法题可以做几遍
个人云服务器如何登录
崂山区苹果软件开发哪家靠谱
江门嵌入式软件开发哪家好
delphi 数据库排序
如何用服务器连接矿池
未来网络安全的前景
网络技术博览会
海螺软件开发怎么样
负责网络安全工作人员
饥荒联机版打开服务器很慢
网络安全校园宣传稿
番禺天气预报软件开发
查询数据库最晚入职的员工
哪个国家的云服务器好
网络安全教育测试2020
无限分层信息遗传网络技术
个人云服务器如何登录
倩女幽魂坚甲利兵服务器
智能药房软件开发方案
voc数据库
数据库原理与应用案例题
浙江统一软件开发设施标准
数据库中调用子串的函数种类