标签:style blog http java color 使用
1、HTTP:
2、原始的Web客户端与Ajax架构的脚本化HTTP
3、Ajax与Comet,前者主动从服务器拉数据,后者从服务器向客户端推送数据
4、XMLHttpRequest
(function initXHR() { if (w.XMLHttpRequest === undefined) { w.XMLHttpRequest = function () { try { // 如果可用,则使用ActiveX对象的最新版本 return new ActiveXObject(‘Msxml2.XMLHTTP.6.0‘); // JavaScript权威指南 // return new ActiveXObject(‘Msxml2.XMLHTTP‘); // 百度名片 } catch (e) { try { // 否则回退到较老版本 return new ActiveXObject(‘Msxml2.XMLHTTP.3.0‘); // JavaScript权威指南 // return new ActiveXObject(‘Microsoft.XMLHTTP‘); // 百度名片 } catch (e) { // 否则抛错 throw new Error(‘XMLHttpRequest is not supported‘); } } }; } }());
5、Http请求和响应分解
* IE下可以用本地文件进行Http请求,同源策略下其他主流浏览器做了交叉访问限制
// get // init var request = new XMLHttpRequest(); // connect request.open(‘GET‘, url, async, user, pwd); // setHeader request.setHeader(key, value); // send request.send(null); // post var request = new XMLHttpRequest(); // connect request.open(‘POST‘, url, async, user, pwd); // setHeader request.setHeader(key, value); // send request.send(JSON.stringify({data:‘test‘}));
// 把JSON类型的对象解析成表单编码的字符串 var encodeFormData = function (data) { if (!data) return ‘‘; var pairs = [ ]; for (var key in data) { // 跳过继承属性和方法 if (!data.hasOwnProperty(key) || typeof data[key] === ‘function‘) continue; var value = data[key].toString(); // %20是‘ ‘(长度为1)的16进制转义符号,在某些(作者也不知道是哪些,有兴趣的自己去了解一下)服务器处理中会将‘+‘号和空格互换 // 即decoding的时候把‘+‘号解析成空格,encoding的时候把空格转成‘+‘ key = encodeURIComponent(key.replace(/%20/g, ‘+‘)); value = encodeURIComponent(value.replace(/%20/g, ‘+‘)); pairs.push(key + ‘=‘ + value); } return pairs.join(‘&‘); }; var postData = function (url, data, callback) { var request = XMLHttpRequest(); request.open(‘POST‘, url); request.onreadystatechange = function () { if (this.readyState === 4 && typeof callback === ‘function‘) callback(this); }; request.setRequestHeader(‘Content-type‘, ‘application/x-www-form-urlencoded‘); request.send(encodeFormData(data)); };
var parser = (function () { try { //Firefox, Mozilla, Opera, etc, IE9+(IE10+才支持html解析) parser = new DOMParser(); return parser; } catch (e) { return null; } }()); var xmlParse = function (text, type) { var xmlDoc = null; if (parser) { try { // 默认xml解析,当前主流浏览器和IE10+(包含)支持type为html的解析,解析成HTMLDocument对象 xmlDoc = parser.parseFromString(text, ‘text/‘ + (type || ‘xml‘)); return xmlDoc; } catch (e) { } } try { //Internet Explorer(可能作者水平不够,用这个插件解析,只能解析XML,而且对象屏蔽属性,超难调试) xmlDoc = new ActiveXObject ("MSXML2.DOMDocument"); var flag = xmlDoc.loadXML(text); // 解析成功 返回,否则返回未解析的文本 if (flag) return xmlDoc; return text; } catch (e1) { alert(e1.message); } };
标签:style blog http java color 使用
原文地址:http://www.cnblogs.com/gabin/p/3836950.html