Baseline Widely available *
夿³¨ï¼ æ¤ç¹æ§å¨ Web Workerï¼ä¸å æ¬ Service Workerï¼ä¸å¯ç¨ã
XMLHttpRequest
ï¼XHRï¼å¯¹è±¡ç¨äºä¸æå¡å¨äº¤äºãéè¿ XMLHttpRequest å¯ä»¥å¨ä¸å·æ°é¡µé¢çæ
åµä¸è¯·æ±ç¹å® URLï¼è·åæ°æ®ãè¿å
许ç½é¡µå¨ä¸å½±åç¨æ·æä½çæ
åµä¸ï¼æ´æ°é¡µé¢çå±é¨å
容ãXMLHttpRequest
å¨ AJAX ç¼ç¨ä¸è¢«å¤§é使ç¨ã
must be a string
尽管åç§°å¦æ¤ï¼XMLHttpRequest
å¯ä»¥ç¨äºè·åä»»ä½ç±»åçæ°æ®ï¼èä¸ä»
ä»
æ¯ XMLãå®çè³æ¯æ HTTP 以å¤çåè®®ï¼å
æ¬ file:// å FTPï¼ï¼å°½ç®¡å¯è½åå°æ´å¤åºäºå®å
¨çåå çéå¶ã
å¦æä½ çéä¿¡æµç¨éè¦ä»æå¡å¨ç«¯æ¥æ¶äºä»¶ææ¶æ¯æ°æ®ï¼è¯·èèéè¿ EventSource
æ¥å£ä½¿ç¨æå¡å¨åéäºä»¶ã对äºå
¨åå·¥çéä¿¡ï¼WebSocket å¯è½æ¯æ´å¥½çéæ©ã
XMLHttpRequest()
该æé 彿°ç¨äºåå§åä¸ä¸ª XMLHttpRequest
å®ä¾å¯¹è±¡ãå¨è°ç¨ä¸åä»»ä½å
¶ä»æ¹æ³ä¹åï¼å¿
é¡»å
è°ç¨è¯¥æé 彿°ï¼æéè¿å
¶ä»æ¹å¼ï¼å¾å°ä¸ä¸ªå®ä¾å¯¹è±¡ã
æ¤æ¥å£ç»§æ¿äº XMLHttpRequestEventTarget
å EventTarget
ç屿§ã
XMLHttpRequest.onreadystatechange
å½ readyState
屿§åçååæ¶ï¼è°ç¨çäºä»¶å¤çå¨ã
XMLHttpRequest.readyState
åªè¯»
è¿å ä¸ä¸ªæ 符å·çæ´åï¼unsigned short
ï¼æ°åï¼ä»£è¡¨è¯·æ±çç¶æç ã
XMLHttpRequest.response
åªè¯»
è¿åä¸ä¸ª ArrayBuffer
ãBlob
ãDocument
ï¼æ DOMString
ï¼å
·ä½æ¯åªç§ç±»ååå³äº XMLHttpRequest.responseType
çå¼ãå
¶ä¸å
嫿´ä¸ªååºå®ä½ï¼response entity bodyï¼ã
XMLHttpRequest.responseText
åªè¯»
è¿åä¸ä¸ª DOMString
ï¼è¯¥ DOMString
å
å«å¯¹è¯·æ±çååºï¼å¦æè¯·æ±æªæåæå°æªåéï¼åè¿å null
ã
XMLHttpRequest.responseType
ä¸ä¸ªç¨äºå®ä¹ååºç±»åçæä¸¾å¼ï¼enumerated valueï¼ã
XMLHttpRequest.responseURL
åªè¯»
è¿åç»è¿åºååï¼serializedï¼çååº URLï¼å¦æè¯¥ URL 为空ï¼åè¿å空å符串ã
XMLHttpRequest.responseXML
åªè¯»
è¿åä¸ä¸ª Document
ï¼å
¶ä¸å
å«è¯¥è¯·æ±çååºï¼å¦æè¯·æ±æªæåãå°æªåéææ¯ä¸è½è¢«è§£æä¸º XML æ HTMLï¼åè¿å null
ã
XMLHttpRequest.status
åªè¯»
è¿åä¸ä¸ªæ 符å·çæ´åï¼unsigned short
ï¼æ°åï¼ä»£è¡¨è¯·æ±çååºç¶æã
XMLHttpRequest.statusText
åªè¯»
è¿åä¸ä¸ª DOMString
ï¼å
¶ä¸å
å« HTTP æå¡å¨è¿åçååºç¶æãä¸ XMLHTTPRequest.status
ä¸åçæ¯ï¼å®å
å«å®æ´çååºç¶æææ¬ï¼ä¾å¦ï¼"200 OK
"ï¼ã
夿³¨ï¼ æ ¹æ® HTTP/2 è§èï¼8.1.2.4 Response Pseudo-Header Fieldsï¼ååºä¼ªæ 头忮µï¼ï¼HTTP/2 没æå®ä¹ä»»ä½ç¨äºæºå¸¦ HTTP/1.1 ç¶æè¡ä¸å å«ççæ¬ï¼versionï¼æè åå çè¯ï¼reason phraseï¼çæ¹æ³ã
XMLHttpRequest.timeout
ä¸ä¸ªæ 符å·é¿æ´åï¼unsigned long
ï¼æ°åï¼è¡¨ç¤ºè¯¥è¯·æ±çæå¤§è¯·æ±æ¶é´ï¼æ¯«ç§ï¼ï¼è¥è¶
åºè¯¥æ¶é´ï¼è¯·æ±ä¼èªå¨ç»æ¢ã
XMLHttpRequest.upload
åªè¯»
XMLHttpRequestUpload
ï¼ä»£è¡¨ä¸ä¼ è¿åº¦ã
XMLHttpRequest.withCredentials
ä¸ä¸ªå¸å°å¼
ï¼ç¨æ¥æå®è·¨ç« Access-Control
è¯·æ±æ¯å¦åºå½å¸¦æææä¿¡æ¯ï¼å¦ cookie æèº«ä»½éªè¯æ 头ã
XMLHttpRequest.mozAnon
åªè¯» éæ å
ä¸ä¸ªå¸å°å¼ï¼å¦æä¸ºçï¼è¯·æ±å°å¨æ²¡æ cookie å身份éªè¯æ å¤´çæ åµä¸åéã
XMLHttpRequest.mozSystem
åªè¯» éæ å
ä¸ä¸ªå¸å°å¼ï¼å¦æä¸ºçï¼åå¨è¯·æ±æ¶ä¸ä¼å¼ºå¶æ§è¡åæºçç¥ã
ä½ä¸º XMLHttpRequest
å®ä¾ç屿§ä¹ä¸ï¼æææµè§å¨é½æ¯æ onreadystatechange
ã
忥ï¼è®¸å¤æµè§å¨å®ç°äºä¸äºé¢å¤çäºä»¶ï¼onload
ãonerror
ãonprogress
çï¼ã详è§ä½¿ç¨ XMLHttpRequestã
æ´å¤ç°ä»£æµè§å¨ï¼å
æ¬ Firefoxï¼é¤äºå¯ä»¥è®¾ç½® on*
屿§å¤ï¼ä¹æä¾æ åççå¬å¨ addEventListener()
API æ¥çå¬XMLHttpRequest
äºä»¶ã
XMLHttpRequest.abort()
å¦æè¯·æ±å·²è¢«ååºï¼åç«å»ä¸æ¢è¯·æ±ã
以å符串çå½¢å¼è¿åææç¨ CRLF åéçååºå¤´ï¼å¦ææ²¡ææ¶å°ååºï¼åè¿å null
ã
è¿åå
嫿å®ååºå¤´çå符串ï¼å¦æååºå°æªæ¶å°æååºä¸ä¸åå¨è¯¥æ¥å¤´ï¼åè¿å null
ã
XMLHttpRequest.open()
åå§åä¸ä¸ªè¯·æ±ã
XMLHttpRequest.overrideMimeType()
è¦åç±æå¡å¨è¿åç MIME ç±»åã
XMLHttpRequest.send()
åé请æ±ãå¦æè¯·æ±æ¯å¼æ¥çï¼é»è®¤ï¼ï¼é£ä¹è¯¥æ¹æ³å°å¨è¯·æ±åéåç«å³è¿åã
设置 HTTP è¯·æ±æ 头çå¼ãå¿
é¡»å¨ open()
ä¹åãsend()
ä¹åè°ç¨ setRequestHeader()
æ¹æ³ã
abort
å½ request è¢«åæ¢æ¶è§¦åï¼ä¾å¦å½ç¨åºè°ç¨ XMLHttpRequest.abort()
æ¶ã ä¹å¯ä»¥ä½¿ç¨ onabort
屿§ã
error
å½ request ééé误æ¶è§¦åã ä¹å¯ä»¥ä½¿ç¨ onerror
屿§
load
XMLHttpRequest
è¯·æ±æå宿æ¶è§¦åã ä¹å¯ä»¥ä½¿ç¨ onload
屿§ã
loadend
å½è¯·æ±ç»ææ¶è§¦åï¼æ è®ºè¯·æ±æå ( load
) è¿æ¯å¤±è´¥ (abort
æ error
)ã ä¹å¯ä»¥ä½¿ç¨ onloadend
屿§ã
loadstart
æ¥æ¶å°ååºæ°æ®æ¶è§¦åã ä¹å¯ä»¥ä½¿ç¨ onloadstart
屿§ã
progress
å½è¯·æ±æ¥æ¶å°æ´å¤æ°æ®æ¶ï¼å¨ææ§å°è§¦åã ä¹å¯ä»¥ä½¿ç¨ onprogress
屿§ã
timeout
å¨é¢è®¾æ¶é´å
æ²¡ææ¥æ¶å°ååºæ¶è§¦åã ä¹å¯ä»¥ä½¿ç¨ ontimeout
屿§ã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4