<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                tpadmin 管理后臺大部分的請求都是 ajax 請求,返回的 json 數據大部分是通過一個 `ajax_progress` 方法處理 詳細返回的 json 數據格式要求見 [數據返回](225019) ##后臺返回數據格式要求 | 參數名稱 | 類型 | 使用說明 | | --- | --- | --- | | msg | string | 提示信息,`code` 為 0 時信息使用 `layer.msg` 顯示,3 秒自動消失,`code` 不為 0 時使用 `layer.alert` 顯示,需手動關閉提示信息 | | redirect | enum | 重定向選項,`curren`:當前頁重定向到 `url` 地址,`url` 為空刷新當前頁;`parent`:父層頁重定向到 `url` 地址,`url` 為空刷新父層,并且關閉當前層;為空,不執行重定向 | | alert | string | alert 出信息, 為空不 alert | | close | bool | 是否關閉當前層,true 關閉,false 不關閉 | | url | string | 重定向的鏈接,請參考 redirect 用法 | | data | mixed | 需返回的數據,格式根據自己需要而定,只要能轉化為 json 就行 | | code | int | 錯誤碼,0:成功,其他:錯誤 | ##前端數據處理 ``` /** * ajax 處理,對應服務端 ajax_return_adv 方法返回的 json 數據處理 * @param data ajax返回數據 * @param callback 成功回調函數 * @param param 回調參數 */ function ajax_progress(data, callback, param) { if (data.code == 0) { if (typeof data.opt == "object") { var index = parent.layer.getFrameIndex(window.name); if (data.opt.close) { parent.layer.close(index); } if (data.opt.redirect == 'current') { // 當前頁重定向 if (!data.opt.url) { // 刷新 window.location.reload(); } else { // 重定向到 url window.location.href = data.opt.url; } } else if (data.opt.redirect == 'parent') { // 父層重定向 if (!data.opt.url) { // 刷新 window.parent.location.reload(); } else { // 重定向到 url window.parent.location.href = data.opt.url; } // 關閉當前層 parent.layer.close(index); } // 父層彈出信息 if (data.opt.alert) { parent.layer.alert(data.opt.alert); parent.layer.close(index); } if (!data.opt.close && !data.opt.redirect && !data.opt.alert) { parent.layer.msg(data.msg); parent.layer.close(index); } } else { layer.msg(data.msg); } if (typeof callback == "function") { if (typeof param != "undefined") { param.unshift(data) } else { param = [data]; } callback.apply(this, param); } } else { layer.alert(data.msg, {title: "錯誤信息", icon: 2}); } } ``` ##使用示例 ###直接使用 ``` $("#form").Validform({ tiptype: 2, ajaxPost: true, showAllError: true, callback: function (ret) { ajax_progress(ret); } }); ``` ###配合 ajax_req 使用 ``` // 恢復、禁用使用 ajax_req 發送請求,使用 ajax_progress 處理請求,使用回調函數 change_status 動態改變狀態 <a href="javascript:;" onclick="ajax_req('/admin/admin_node/forbid/id/1.html',{},change_status,[this,'forbid'])" class="label label-warning radius" title="點擊禁用">禁用</a> /** * 操作對象發送ajax請求 * @param url 請求地址 * @param data 請求參數 * @param callback 成功回調 * @param param 回調參數 * @param shade 是否遮罩 */ function ajax_req(url,data,callback,param,shade){ if(shade === true) var loading = layer.load(2); $.post(url,data,function(ret){ shade === true || layer.close(loading); ajax_progress(ret,callback,param); },'json') } /** * 恢復禁用等狀態改變回調函數 * @param ret * @param obj * @param type */ function change_status(ret, obj, type) { //配置數據,TYPE:['下一狀態文字描述','當前狀態class顏色','下一狀態class顏色','下一狀態方法名','狀態標簽選擇器','下一狀態標簽icon','下一狀態標簽title'] var data = { 'resume':['禁用','success','warning','forbid','.status','&#xe615;','正常'], 'forbid':['恢復','warning','success','resume','.status','&#xe631;','禁用'], }; var $this = $(obj); $this.html(data[type][0]).attr("title","點擊"+data[type][0]).removeClass("label-"+data[type][1]).addClass("label-"+data[type][2]).attr("onclick",$this.attr("onclick").replace(new RegExp(type,'g'),data[type][3])); $this.parents("tr").find(data[type][4]).html(data[type][5]).removeClass("c-"+data[type][2]).addClass("c-"+data[type][1]).attr("title",data[type][6]); } ```
                  <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>

                              哎呀哎呀视频在线观看