DWZ 自定义异常及后台校验2-a链接弹出框

a 链接弹出框 后台抛出异常直接提示自定义信息 并关闭dialog

 

a 链接中的target属性 target="dialog"  ,在使用a链接做弹出层业务的时候使用dialog属性值,弹出层之前业务中需要做一些可操作验证,

抛出自定义异常信息,新增target属性值 target="dialogMsg"  dwz.ui.js 中扩展一个函数,当target的属性值使用dialogMsg的时候,

后台抛出的异常信息就会经过该函数进行处理,并弹出提示信息。

1.dwz.ui.js 扩展 dialogMsg

 

//dialogMsg 弹出框后台抛出自定义异常
    $("a[target=dialogMsg]", $p).each(function(){
        $(this).click(function(event){
            var $this = $(this);
            .......
..............省略................
.......
DWZ.debug(url); if (!url.isFinishedTm()) { alertMsg.info($this.attr("warn") || DWZ.msg("alertSelectMsg")); return false; } //扩展openMsg $.pdialog.openMsg(url, rel, title, options); return false; }); });

 

 

 

2.dwz.dialog.js 扩展 openMsg

 

//打开一个可返回自定义异常信息的层
        openMsg:function(url, dlgid, title, options) {
            var op = $.extend({},$.pdialog._op, options);
            var dialog = $("body").data(dlgid);
            //重复打开一个层
            if(dialog) {
                if(dialog.is(":hidden")) {
                    dialog.show();
                }
                if(op.fresh || url != $(dialog).data("url")){
                    dialog.data("url",url);
                    dialog.find(".dialogHeader").find("h1").html(title);
                    this.switchDialog(dialog);
                    var jDContent = dialog.find(".dialogContent");
                    jDContent.loadUrlMsg(url, dlgid,{}, function(){
                        jDContent.find("[layoutH]").layoutH(jDContent);
                        $(".pageContent", dialog).width($(dialog).width()-14);
                        $("button.close").click(function(){
                            $.pdialog.close(dialog);
                            return false;
                        });
                    });
                }

            } else { //打开一个全新的层

              .............//load data
                var jDContent = $(".dialogContent",dialog);
                jDContent.loadUrlMsg(url,dlgid,{}, function(){
                    jDContent.find("[layoutH]").layoutH(jDContent);
                    $(".pageContent", dialog).width($(dialog).width()-14);
                    $("button.close").click(function(){
                        $.pdialog.close(dialog);
                        return false;
                    });
                });
            }
            ......................
        },

 

 

 

 

3.dwz.core.js 扩展 loadUrlMsg、 ajaxUrlMsg

 

loadUrlMsg: function(url,dlgid,data,callback){
        //dlgid 是当前层标识rel的属性值 $(
this).ajaxUrlMsg({url:url,dlgid:dlgid, data:data, callback:callback}); }, ajaxUrlMsg: function(op){ var $this = $(this); $this.trigger(DWZ.eventType.pageClear); $.ajax({ type: op.type || 'GET', url: op.url, data: op.data, cache: false, success: function(response){ ......... }, error: function(response){
            //response.responseText 获取异常的文本信息 alertMsg.error(response.responseText, {okCall:
function(){
                 //关闭当前弹出层 $.pdialog.close(op.dlgid);
return false
; }}) }, statusCode: { 503: function(xhr, ajaxOptions, thrownError) { alert(DWZ.msg("statusCode_503") || thrownError); } } }); },

 

posted @ 2020-07-10 17:07  smokerBig  阅读(166)  评论(0编辑  收藏  举报