mui---ajax登录请求示例

<script type="text/javascript">
            mui.init();

            var dom_login_btn = document.getElementById("login");
            dom_login_btn.addEventListener('tap', function(e) {
                var cname = document.getElementById("account").value.trim();
                var pwd = document.getElementById("password").value.trim();
                if(cname.trim().length == 0) {
                    mui.toast("用户名不能为空!")
                    return;
                } else if(pwd.trim().length == 0) {
                    mui.toast("密码不能为空!");
                    return;
                } else {
                    var url = 'http://zyz1.top/handler/LoginCheck.ashx';
                    mui.ajax(url, {
                        //data为要发送到后台的数据,是一个json对象
                        data: {
                            "cname": cname,
                            "pwd": pwd
                        },
                        //dataType: 'json',
                        /* 如果后台返回的响应内容的类型是'application/json'时,可不用指定dataType为json,
                         * 不指定系统会根据后台响应的mime类型来得到相应的数据格式,如果此时设置为'json'反
                         * 而会出错。
                         * 如果后台返回的响应内容的类型是'text/plain'时,此时dataType指定为'json'时,mui
                         * 会自动将返回的符合json格式的json字符串转换为json对象。
                         */
                        type: 'post',//请求方式,一般情况get和post都可以
                        timeout: 10000,//10秒超时
                        //success表示请求成功,返回的响应状态码为200时
                        success: function(data) {
                            if(data != 'undefined' && data != null && data != '') {
                                /*data形如:{success:true,child:{cid:'1',cname:'mike',rname:'张三'}}
                                 * 或:{success:false,child:null}
                                 */
                                
                                if(data.success == true) 
                                {
                                    mui.toast('登录成功!')
                                    //使用5+ api时,必须放在plusReady事件中
                                    mui.plusReady(function() {
                                        mui.openWindow({
                                            url: 'index.html',
                                            id: 'index',
                                            extras: {
                                                cid: data.child.cid,
                                                cname: data.child.cname,
                                                rname: data.child.rname
                                            }
                                        });
                                    });
                                } else {
                                    mui.toast("用户名或密码不对!请重新登录!");
                                }
                            }
                        },
                        /*
                        *xhr:xhr实例对象
                        *type:错误描述,可取值:"timeout", "error", "abort", "parsererror"、"null"
                        *errorThrown:可捕获的异常对象
                        */
                        error: function(xhr, type, errorThrown) {
                            mui.toast("服务器内部错误!");
                            console.log('error:' + type);
                        }
                    })
                    /*mui.get(url,callback(data))或mui.post(url,callback(data))是ajax的简化版
                     * 如果要设置超时,或处理异常时,必须用mui.ajax()
                     */
                }
            });
        </script>

 

posted @ 2018-06-01 19:31  框框A  阅读(5778)  评论(4编辑  收藏  举报