成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

前端開(kāi)發(fā) 通用JS工具的封裝

plokmju88 / 3342人閱讀

摘要:網(wǎng)絡(luò)請(qǐng)求工具請(qǐng)求,服務(wù)器地址配置路徑工具模板渲染工具字段驗(yàn)證通用提示統(tǒng)一跳轉(zhuǎn)定義模塊化對(duì)象網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求功能存入對(duì)象從中取方法,如果沒(méi)有默認(rèn)方法默認(rèn)空數(shù)據(jù)類(lèi)型請(qǐng)求時(shí)需要的數(shù)據(jù)請(qǐng)求成功時(shí)的方法處理請(qǐng)求成功無(wú)登錄狀態(tài),需強(qiáng)制登錄請(qǐng)求數(shù)據(jù)錯(cuò)誤獲取服

網(wǎng)絡(luò)請(qǐng)求工具(Ajax請(qǐng)求,服務(wù)器地址配置)

URL路徑工具

模板渲染工具

字段驗(yàn)證&&通用提示

統(tǒng)一跳轉(zhuǎn)

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

// 輸出模塊化對(duì)象
module.exports = _mm;

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84499.html

相關(guān)文章

  • 前后端架子搭建

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

    mikyou 評(píng)論0 收藏0
  • 如何更有效率和質(zhì)量地開(kāi)發(fā)Vue項(xiàng)目

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

    ShevaKuilin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<