Baseline Widely available *
ã¡ã¢: ãã®æ©è½ã¯ã¦ã§ãã¯ã¼ã«ã¼å ã§å©ç¨å¯è½ã§ããããµã¼ãã¹ã¯ã¼ã«ã¼ã§ã¯ä½¿ç¨ã§ãã¾ããã
XMLHttpRequest API ã使ç¨ããã¨ã§ãã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãã¦ã§ããµã¼ãã¼ã« HTTP ãªã¯ã¨ã¹ããè¡ããJavaScript ã使ç¨ãã¦ããã°ã©ã ã§ã¬ã¹ãã³ã¹ãåãåããã¨ãã§ãã¾ããããã«ããã¦ã§ããµã¤ãã¯ãæ°ãããã¼ã¸ã«ç§»åãããã¨ãªãããµã¼ãã¼ããã®ãã¼ã¿ã§ãã¼ã¸ã®ä¸é¨ã ããæ´æ°ãããã¨ãã§ãã¾ãããã®æ¹æ³ã¯ã Ajax ã¨ãã¦ãç¥ããã¦ãã¾ãã
ãã§ãã API 㯠XMLHttpRequest API ãããæè»ã§å¼·åã«ç½®ãæãããã®ã§ãããã§ãã API ã¯ãéåæã¬ã¹ãã³ã¹ãå¦çããããã«ã¤ãã³ãã®ä»£ããã«ãããã¹ã使ç¨ãããµã¼ãã¹ã¯ã¼ã«ã¼ã¨ãã¾ãçµ±åãã CORS ã®ãã㪠HTTP ã®é«åº¦ãªå´é¢ã«å¯¾å¿ãã¦ãã¾ãããããã®çç±ãããç¾ä»£ã®ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãXMLHttpRequest
ã®ä»£ããã«ãã§ãã API ã使ç¨ããã®ãä¸è¬çã§ãã
XMLHttpRequest API ã®ä¸å¿ã¨ãªãã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ XMLHttpRequest
ã§ãã HTTP ãªã¯ã¨ã¹ããè¡ãã«ã¯ã以ä¸ã®ããã«ãã¾ãã
XMLHttpRequest
ã®ã¤ã³ã¹ã¿ã³ã¹ããã³ã³ã¹ãã©ã¯ã¿ã¼ãå¼ã³åºããã¨ã§ä½æãã¾ããXMLHttpRequest.open()
ãå¼ã³åºãã¦åæåãã¾ãããã®æç¹ã§ããªã¯ã¨ã¹ãã® URLã使ç¨ãã HTTP ã¡ã½ããããªãã·ã§ã³ã§ã¦ã¼ã¶ã¼åã¼ã¨ãã¹ã¯ã¼ããæä¾ãã¾ããload
ã¤ãã³ãã¯ãªã¯ã¨ã¹ããå®å
¨ã«å®äºããæã«çºè¡ããã error
ã¤ãã³ãã¯æ§ã
ãªã¨ã©ã¼ç¶æ
ã®æã«çºè¡ããã¾ããXMLHttpRequest.send()
ãå¼ã³åºãã¦ãªã¯ã¨ã¹ããéä¿¡ãã¾ããXMLHttpRequest API ã®è©³ç´°ãªã¬ã¤ãã«ã¤ãã¦ã¯ã XMLHttpRequest ã®ä½¿ç¨ãåç §ãã¦ãã ããã
ã¤ã³ã¿ã¼ãã§ã¤ã¹FormData
<form>
ã®ãã£ã¼ã«ãã¨ãã®å¤ã表ããªãã¸ã§ã¯ãã§ã XMLHttpRequest
ã¾ã㯠fetch()
ãç¨ãã¦ãµã¼ãã¼ã«éä¿¡ãããã¨ãã§ãã¾ãã
ProgressEvent
Event
ã®ãµãã¯ã©ã¹ã§ progress
ã«æ¸¡ããããªã¯ã¨ã¹ããã©ãã ãé²è¡ãããã®æ
å ±ãæ ¼ç´ãã¾ãã
XMLHttpRequest
åä¸ã® HTTP ãªã¯ã¨ã¹ãã表ãã¾ãã
XMLHttpRequestEventTarget
XMLHttpRequest
ããã³ XMLHttpRequestUpload
ã®ã¹ã¼ãã¼ã¯ã©ã¹ã§ãã©ã¡ãã§ãå©ç¨ã§ããã¤ãã³ããå®ç¾©ãã¦ãã¾ãã
XMLHttpRequestUpload
HTTP ã¢ãããã¼ãã®ã¢ãããã¼ãå¦çã表ãã¾ããã³ã¼ããã¢ãããã¼ãã®é²æã追跡ã§ããããã«ããã¤ãã³ããæä¾ãã¾ãã
ãã®ä¾ã§ã¯ã https://raw.githubusercontent.com/ ãã JSON ãã¡ã¤ã«ãåå¾ããã¤ãã³ãã®é²æç¶æ³ã表示ãããã¤ãã³ããªã¹ãã¼ã追å ãã¦ãã¾ãã
HTML<div class="controls">
<button class="xhr" type="button">ã¯ãªãã¯ãã㨠XHR ãéå§</button>
</div>
<textarea readonly class="event-log"></textarea>
.event-log {
width: 25rem;
height: 5rem;
border: 1px solid black;
margin: 0.5rem;
padding: 0.2rem;
}
button {
width: 12rem;
margin: 0.5rem;
}
JavaScript
const xhrButton = document.querySelector(".xhr");
const log = document.querySelector(".event-log");
const url =
"https://raw.githubusercontent.com/mdn/content/main/files/en-us/_wikihistory.json";
function handleEvent(e) {
log.textContent = `${log.textContent}${e.type}: ${e.loaded} ãã¤ã転éãã¾ãã\n`;
}
function addListeners(xhr) {
xhr.addEventListener("loadstart", handleEvent);
xhr.addEventListener("load", handleEvent);
xhr.addEventListener("loadend", handleEvent);
xhr.addEventListener("progress", handleEvent);
xhr.addEventListener("error", handleEvent);
xhr.addEventListener("abort", handleEvent);
}
xhrButton.addEventListener("click", () => {
log.textContent = "";
const xhr = new XMLHttpRequest();
xhr.open("GET", url);
addListeners(xhr);
xhr.send();
});
çµæ 仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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