網站首頁 編程語言 正文
promise是es6語法,直接使用即可。
XMLHttpRequest是瀏覽器實現的api接口,用于向后臺請求數據的。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Promise封裝AJAX操作</title>
</head>
<body>
<script>
/**
* 封裝一個函數 sendAJAX 發送 GET AJAX 請求
* 參數 URL
* 返回結果 Promise 對象
*/
function sendAJAX(url){
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.responseType = 'json';
xhr.open("GET", url);
xhr.send();
//處理結果
xhr.onreadystatechange = function(){
if(xhr.readyState === 4){
//判斷成功
if(xhr.status >= 200 && xhr.status < 300){
//成功的結果
//解決跨域請求問題
resolve(xhr.response);
}else{
reject(xhr.status);
}
}
}
});
}
//第一個箭頭函數,處理成功的返回結果(跟xhr.response一致),第二個箭頭函數處理失敗的結果(跟xhr.status一致)
sendAJAX('http://localhost:3000/showblog')
.then(value => {
console.log(value);
}, reason => {
console.warn(reason);
});
</script>
</body>
</html>
原文鏈接:https://blog.csdn.net/qiuyushuofeng/article/details/123435236
相關推薦
- 2023-05-31 python常用函數random()函數詳解_python
- 2022-10-19 Docker鏡像與容器的導入導出以及常用命令總結_docker
- 2022-02-18 Zabbix Database error
- 2022-09-03 python通過ElementTree操作XML_python
- 2022-09-04 Go語言流程控制語句_Golang
- 2022-05-20 Spring Boot 整合流程引擎 Flowable,so easy
- 2022-12-25 一文帶你熟悉Go語言中的for循環_Golang
- 2023-04-18 Android?懸浮按鈕之實現兔兔按鈕示例_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支