See More

--------------------------- XMLHttpRequest | --------------------------- # ´´½¨ function createXMLHttpRequest(){ try{ //´ó¶àÊýä¯ÀÀÆ÷ return new XMLHttpRequest(); }catch(e){ try{ return new ActiveXObject("Msxml2.XMLHTTP");//IE6.0 }catch(e){ try{ return new ActiveXObject("Microsoft.XMLHTTP");//IE5.5ÒÔ¼°¸üÔç°æ±¾ }catch(e){ alert("ΪÁ˸üºÃµÄÌåÑé,ÇëÁ¢¼´¸ü»»ä¯ÀÀÆ÷·ÃÎʱ¾Õ¾"); throw e; } } } } # ʵÀý·½·¨ open(method,url,async) * ´ò¿ªÒ»¸öÁ¬½Ó, * µÚÒ»¸ö²ÎÊý,ÒÔ×Ö·û´®µÄÐÎʽָ¶¨ÇëÇó·½Ê½ * µÚ¶þ¸ö²ÎÊý,ÊÇ×Ö·û´®,URL, * µÚÈý¸ö²ÎÊýboolean,ÊÇ·ñΪÒì²½(ĬÈÏtrue) setRequestHeader(header,value) * ÉèÖÃÇëÇóÍ·,µÚÒ»¸ö²ÎÊýÊÇ ÇëÇóÍ·µÄkey,µÚ¶þ¸ö²ÎÊýÊÇÇëÇóÍ·µÄvalue send() * ÉèÖÃÇëÇóÌå,Èç¹ûÊÇGETÇëÇó,Ôò¸Ã·½·¨Ó¦¸ÃÉèÖÃΪnull(½â¾öä¯ÀÀÆ÷¼æÈÝÎÊÌâ) * ²ÎÊý¿ÉÒÔÊÇURL±àÂëºóµÄ×Ö·û´®,Ò²¿ÉÒÔÊÇ FormData ¶ÔÏó getResponseHeader(name) * »ñȡָ¶¨Ãû³ÆµÄÏìӦͷ getAllResponseHeaders() * »ñÈ¡ËùÓеÄÏìӦͷ # ʵÀýÊôÐÔ readyState * ¶ÔÏó״̬Âë > 0״̬:¸Õ´´½¨,»¹Ã»Óе÷ÓÃoppen();·½·¨ > 1״̬:ÇëÇó¿ªÊ¼,µ÷ÓÃÁËoppen();·½·¨,µ«»¹Ã»µ÷ÓÃsend·½·¨ > 2״̬:ÇëÇó·¢ËÍÍê³É,µ÷ÓÃÍêÁËsend·½·¨ > 3״̬:·þÎñÆ÷ÒѾ­¿ªÊ¼ÏìÓ¦,µ«²»±íʾÏìÓ¦½áÊøÁË > 4״̬:·þÎñÆ÷ÏìÓ¦½áÊø(ͨ³£ÎÒÃÇÖ»¹ØÐÄÕâ¸ö״̬...) status * HTTPÏìÓ¦Âë timeout * ³¬Ê±Ê±¼ä,µ¥Î»(ms) * ĬÈÏ 120 s responseTyper * ÉùÃ÷·þÎñ¶ËÏìÓ¦µÄÊý¾ÝÀàÐÍ * ¿Éѡֵ arraybuffer, blog, responseXML * ·µ»Ø·þÎñÆ÷ÏìÓ¦µÄXMLÊý¾Ý responseText * ·µ»Ø·þÎñÆ÷ÏìÓ¦µÄTEXTÊý¾Ý withCredentials * ÔÚ¿çÓòÇëÇóµÄʱºò,ÊÇ·ñ°ÑCookieÖµÒ²·¢Ë͵½¿çÓò·þÎñÆ÷ * ¸ÃÊôÐÔÓ¦¸ÃÔÚ open() ·½·¨Ö´ÐÐ֮ǰÉèÖà upload * µ±Ìá½»µÄ±íµ¥ÊÇÎļþ±íµ¥µÄʱºò,¸ÃÊôÐÔ»á´æÔÚ * ¸ÃÊôÐÔ¿ÉÒÔ¼àÌýÒ»¸öÉÏ´«Ê¼þ:progress * EventÊôÐÔ total; //»ñÈ¡ÉÏ´«ÎļþµÄ×Ü(ËùÓÐ)´óС loaded; //»ñÈ¡ÒѾ­ÉÏ´«µÄÎļþ´óС statusText * http״̬µÄÃèÊöÎÄ×Ö # ʼþ onreadyStatechange * µ±Òì²½¶ÔÏóµÄ״̬·¢Éú¸Ä±äµÄʱºòµ÷Óà * µ±Ê¹Óà async=false ʱ£¬²»Óñàд onreadystatechange º¯Êý,°Ñ´úÂë·Åµ½ send() Óï¾äºóÃæ¼´¿É --------------------------- XMLHttpRequest-GET | --------------------------- var xmlHttp = createXMLHttpRequest(); xmlHttp.open("GET", "/test", true); xmlHttp.send(null);//GETÇëÇóûÓÐÇëÇóÌå,µ«ÊÇÒ²Òª¸ø³önull,²»È»FireFox¿ÉÄÜÎÞ·¨·¢ËÍ xmlHttp.onreadystatechange = function(){ if(xmlHttp.readyState == 4 && xmlHttp.status == 200){ //»ñÈ¡·þÎñ¶ËµÄÏìÓ¦ var text = xmlHttp.responseText; } } --------------------------- XMLHttpRequest-POST | --------------------------- var xmlHttp = createXMLHttpRequest(); xmlHttp.open("POST", "/test", true); //µ±ÇëÇóΪPOSTµÄʱºò,ÐèÒªÊÖ¶¯Ìí¼ÓÇëÍ· xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //ÇëÇóÌå xmlHttp.send("userName=kevin&passWord=123456"); xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState == 4 && xmlHttp.status == 200){ //»ñÈ¡·þÎñ¶ËµÄÏìÓ¦ var text = xmlHttp.responseText; } } --------------------------- XMLHttpRequest-¶þ½øÖÆ | --------------------------- var oReq = new XMLHttpRequest(); oReq.open("GET", "/common/get/captcha", true); //ÏìÓ¦ÌåΪ¶þ½øÖƵÄblob oReq.responseType = "blob"; oReq.onreadystatechange = function () { if (oReq.readyState == oReq.DONE) { //»ñÈ¡¶þ½øÖÆÊý¾Ý var blob = oReq.response; var obj = {}; obj.imgSrc = URL.createObjectURL(blob); console.log(obj.imgSrc); } } oReq.send();