- 加載文檔:
/* @desc 加載XHR文件 @author lee [<[email protected]>] @param file 文件路徑 @param async 同步或異步 true 異步 flase 同步 @return xmlDoc 加載後的內容 */ function loadDoc(file,async=true){ var xhr var ret if(window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari xhr=new XMLHttpRequest() }else{ // code for IE6, IE5 xhr=new ActiveXObject("Microsoft.XMLHTTP") } xhr.open("post",file,async) // xhr.withCredentials = true xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded") // xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password")) xhr.addEventListener('readystatechange',function(){ if(xhr.readyState < 4){ // 加載中 }else if (xhr.readyState == 4 && xhr.status == 200){ // 成功 ret=xhr.responseText }else{ // 失敗 xhr.abort() ret = false } }) xhr.send() return ret }
- 加載字符串:
/* @desc 加載XML文檔 @author lee [<[email protected]>] @param txt 字符串 @param async 同步或異步 true 同步 flase 異步 @return xmlDoc 加載後的DOM對象 */ function loadStr(txt,async=true){ var xmlDoc; var parser; if(window.DOMParser){ parser=new DOMParser(); xmlDoc=parser.parseFromString(txt,"text/xml"); } else{ // Internet Explorer xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=async; xmlDoc.loadXML(txt); } return xmlDoc }
- 獲取第一個元素節點(避免獲取到空的節點):
/* @desc 獲取第一個元素節點 @author lee [<[email protected]>] @param name 節點名 @return node_name 子節點名 */ function getElementChild(name){ var node_name=name.firstChild; while (node_name.nodeType!=1){ node_name=node_name.nextSibling; } return node_name; }
javascript XHR對象的封裝(跨瀏覽器)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.