<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # ajax(對ajax函數封裝) ## 一:使用方法 之前用 `fnList(ret)` ,現在改為 `fnList(ret.data.info)` ## 二:示例 ![](https://box.kancloud.cn/53fdaf18b5ca0e8f44e470bd5ee37b5f_1093x539.png) ``` //ajax獲取文章分類 function Terms_list() { ajax({ url: domainName + '/index.php?g=App&m=Article&a=articleTerms', method: 'get' }, function(ret, err) { if (ret) { fnList_terms(ret.data.info); //新的 //fnList_terms(ret); //舊的 } else { api.toast({ msg: '網絡錯誤'+'網絡請求:'+err.statusCode+'錯誤碼:'+err.code, duration: 2000, location: 'middle' }); } }); } ``` ## 三:函數源碼 ```js /** * [ajax 封裝api.ajax加入自定義HTTP請求頭,以實現APP身份驗證和模擬SESSION機制] * 使用方法與api.ajax完全一樣 * @author Baiyu * @param {[object]} parmas [參數對象] * @param {[function]} callback [回調函數] */ function ajax(params, callback){ if(!api){ console.log('只能運行在APICLOUD環境下'); return false; } //返回所有http響應頭信息 var needReturnAll = false; if (params.returnAll) { //調用者需要返回所有結果 needReturnAll = true; } else { //調用者不需要返回所有結果但系統需要 params.returnAll = true; } //請求頭加入APP身份識別碼 if (!params.headers) { params.headers = {}; } params.headers.NEWAPPAUTH = api.getPrefs({ sync : true, key : 'NEWAPPAUTH' }); //請求頭加入模擬SESSID var newSessId = api.getPrefs({ sync : true, key : 'NEWSESSID' }); if (newSessId) { params.headers.NEWSESSID = newSessId; } //發起ajax請求 api.ajax(params, function(ret, err){ //未出錯時處理response中的Set-Cookie,截取并保存到Prefs if (!err) { var headers = ret.headers; var statusCode = ret.statusCode; if (headers['Set-Cookie']) { var sessionArr = headers['Set-Cookie'].match(/NEWSESSID=[\w\d]+/g); for(var i in sessionArr){ var data = sessionArr[i].split('='); var sessionId = $api.trim(data[1]); api.removePrefs({ key : 'NEWSESSID' }); if (sessionId != 'deleted') { api.setPrefs({ key : 'NEWSESSID', value : sessionId }); } } } //如果服務器返回201錯誤代碼,表明需要重新登錄,這里發送重新登錄事件,index.html中會接收到并處理 if (ret.error == 201) { api.removePrefs({ key : 'NEWSESSID' }); api.sendEvent({ name: 'reLogin' }); return false; } } var ret = !needReturnAll && !err ? ret.body : ret; //根據調用者是否需要返回所有結果來確定要返回ret還是ret.body callback.apply(this, [ret, err]); }); } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看