promise简单封装ajax 完美嵌套多个ajax请求
生活随笔
收集整理的這篇文章主要介紹了
promise简单封装ajax 完美嵌套多个ajax请求
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載請注明出處并留個言哈,分享快樂~!
request.js文件,注意網頁頭部script標簽加載順序
function myAjax(json, callback) {var p = new Promise(function (resolve, reject) {$.ajax({url: json.url, //請求的url地址dataType: json.dataType, //返回格式為jsonasync: json.isAsync,//請求是否異步,默認為異步,這也是ajax重要特性data: json.data, //參數值type: json.method, //請求方式success: function (response) {//請求成功時處理callback(response);resolve();},error: function (XMLHttpRequest, textStatus, errorThrown) {//請求出錯處理if (XMLHttpRequest.status == "401") {window.parent.location = '/enterprise/enterprise_login.html';self.location = '/enterprise/enterprise_login.html';} else {alert(XMLHttpRequest.responseText);}reject();}});});return p; }/*** 請求get方法* url* data 以對象的格式傳入*/ function getRequest(url, data, callback) {return myAjax({url: url,method: 'GET',dataType: 'json',isAsync: true,data: data,header: {'Content-Type': 'application/json'}},callback) }/*** 請求post方法封裝* url* data 以對象的格式傳入*/ function postRequest(url, data, callback) {return myAjax({url: url,method: 'POST',dataType: 'json',isAsync: true,data: data,header: {"content-type": "application/json"},},callback) }任意網頁加載后直接復用代碼調用,示例:
var indexData = postRequest("http://cms.hyphone.top/api/Cms/index",'',(res)=>{console.log("+++++++++++",res); });嵌套調用示例:
ajax('/prefix/entity1/action1',null, function(res){//第一個調用ajax應該做的事someData.attr1 = res.attr1;ajax('/api/action1', someData, function(res){//do something on response} }).then(//第二個調用ajax應該做的事ajax('/api/action2', someData, function(res){//do something on response} ).then(//第三個調用ajax應該做的事initVue() ; ).then(//以此類推 )今日分享:
明白的越早越好!
總結
以上是生活随笔為你收集整理的promise简单封装ajax 完美嵌套多个ajax请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中处理DataFrame,R
- 下一篇: cimiss数据_中国气象数据网