国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端開發 通用JS工具的封裝

plokmju88 / 3337人閱讀

摘要:網絡請求工具請求,服務器地址配置路徑工具模板渲染工具字段驗證通用提示統一跳轉定義模塊化對象網絡數據請求功能存入對象從中取方法,如果沒有默認方法默認空數據類型請求時需要的數據請求成功時的方法處理請求成功無登錄狀態,需強制登錄請求數據錯誤獲取服

網絡請求工具(Ajax請求,服務器地址配置)

URL路徑工具

模板渲染工具

字段驗證&&通用提示

統一跳轉

"use strict"
var conf = {serverHost : ""};
// 定義模塊化對象
var _mm = 
{
    // 網絡數據請求功能
    request : function(param)
    {
        var _this = this;        //存入mm對象
        $.ajax({
            type        : param.method || "get",        // 從param中取方法,如果沒有默認get方法
            url         : param.url    || "",           // 默認空
            dataType    : param.type   || "json"        // 數據類型 
            data        : param.data   || "",           // 請求時需要的數據
            // 請求成功時的方法處理
            success     : function(res)
            {
                // 請求成功
                if(0 === res.status)
                {
                    typeof param.success === "function" && param.success(res.data, res.msg);
                }
                // 無登錄狀態,需強制登錄
                else if (10 === res.status)
                {
                    _this.doLogin();
                }
                // 請求數據錯誤
                else if(1 === res.status)
                {
                    typeof param.error=== "function" && param.error(res.msg);
                }
            },                                          
            error       : function(err)
            {
                typeof param.error=== "function" && param.error(err.statusText);
            }
        });
    },
    
    // 獲取服務器地址
    getServerUrl : function(path)
    {
        return conf.serverHost + path;
    },
    
    // 獲取url參數
    getUrlParam : function(name)
    {
        // happymall.com/product/list?keyword=xxx&page=1
        // 提取keyword步驟:1.截取?后參數;2.按&分開每一組keyword與value
        // 定義正則表達式
        var reg     = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        // window的location對象;search得到的是url中query部分(?keyword=xxx&page=1);substr()返回一個從指定位置開始的指定長度的子字符串,設置為1,是為了把url中的?號去掉()
        var result  = window.location.search.substr(1).match(reg);
        return result ? decodeURIComponent(result[2]) : null;
    },
    
    // 渲染html模板
    renderHtml : function(htmlTemplate, data)        // 傳入模板和數據
    {
        var template    = Hogan.compile(htmlTemplate),
            result      = template.render(data);
        return result;
    },
    
    // 成功提示
    successTips : function(msg)
    {
        alert(msg || "操作成功!");
    },
    
    // 錯誤提示
    errorTips : function(msg)
    {
        alert(msg || "哪里不對了~");
    },
    
    // 字段的驗證,支持非空、手機、郵箱的判斷
    validate : function(value, type)
    {
        var value = $.trim(value);
        // 非空驗證,require表示必須有值
        if("require" === type)
        {
            // 返回boolean值
            return !!value;
        }
        // 手機號驗證
        if("phone" === type)
        {
            // 1開頭的11位數字
            return /^1d{10}$/.test(value);
        }
        // 郵箱格式驗證
        if("email" === type)
        {
            return /^(w)+(.w+)*@(w)+((.w{2,3}){1,3})$/.test(value);
        }
    },
    
    // 統一登錄處理
    doLogin : function()
    {
        window.location.href = "./user-login.html?redirect=" + encodeURIComponent(window.location.href);        // 登錄完跳回當前頁面
    },
    goHome : function()
    {
        window.location.href = "./index.html";
    }
};

// 輸出模塊化對象
module.exports = _mm;

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84499.html

相關文章

  • 前后端架子搭建

    摘要:開發語言前端前端這里使用,打包工具是后端后端使用的語言依舊是熟悉的,使用搭建后端框架。 前言 作為一名前端開發者,了解一些后端語言,成為半個全棧工程師也是最基本的(23333),就本篇文章,給大家介紹一下我的前后端目錄結構,不喜勿噴,也希望各位給我一些意見,哈哈哈。 開發語言 前端 前端這里使用react.js,打包工具是parcel 后端 后端使用的語言依舊是熟悉的node.js,使...

    mikyou 評論0 收藏0
  • 如何更有效率和質量地開發Vue項目

    摘要:前言自總結完了上篇前端工程化的思想,并在全家桶的項目加以實踐,趁熱給大家總結一篇如何更有效率與質量地開發項目,以及其中踩過的一個個坑。。。 前言 自總結完了上篇前端工程化的思想,并在vue全家桶的項目加以實踐,趁熱給大家總結一篇如何更有效率與質量地開發vue項目,以及其中踩過的一個個坑。。。 基于vue-cli的自定義模板(Custom Templates) 小伙伴們的vue項目應該都...

    ShevaKuilin 評論0 收藏0

發表評論

0條評論

plokmju88

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<