壹加壹国际物流
壹加壹国际物流
  • 发布:2021-03-03 14:00
  • 更新:2021-03-03 14:00
  • 阅读:879

mui ajax ios wkwebview请求的问题

分类:MUI

之前项目jquery+mui写的,脏乱差,现在进行改版,采用vue+mui,去掉沉重的html拼接,开始上手顺的一塌糊涂,后面打包发布真机,android的一切照旧,ios的ajax访问不到数据.心凉了一截,后面是所有代码放在mui.plusready里面,但是html里面却又不能实现vue的渲染,愁啊;调试都不方便;

后面又是百度又是啥的终于琢磨出一个办法,也不知道对大家有没有用,我这里在下面贴出来;
如下代码:

                   //业务页面js  
                        mui.init();  
            mui.plusReady(function() {  
                my_packer_info.initPackageList(); //要写,否者会出现第一次打开页面没数据,因为当时plus还没被初始化,这里只要调一下vue里面的初始化数据的方法即可  
            });  

                        var my_packer_info = new Vue({  
                              el: "#my_packer_info",  
                              data:{},  
                              methods: {  
                                     //初始化包裹列表  
                    initPackageList: function() {  
                        //;  
                        var req_data = {  
                            PlatForm: this.PlatForm,  
                            Shop: this.ClientInfo.ClientInfo.Shop,  
                            Page: 1,  
                            PageCount: 100,  
                        }  
                        let that = this;  
                                                //自己在mui.ajax外面封装了一层的方法,同时也要改一下mui.js里面的ajax模块的xhr的创建  
                        AxiosPost('GetBillCode', req_data, (res) => {   
                            if (res.State) {  
                                ....  
                            } else {  
                                mui.toast("系統繁忙,請稍後重試:" + res.MsgText);  
                            }  
                        }, (err) => {  
                            mui.toast("系統繁忙,請稍後重試:" + err);  
                        });  
                    }  
                              },  
                             created: function() {  
                    this.initPackageList();  
                 }  
                        });
           //mui.js里面 $.ajax模块的修改,不是很完善,大家可以自行加点判断,我这里是从ajax下面有WKWebView提醒哪里直接拷贝过来用的  
           xhr: function(protocol) {  
        if(location.protocol === 'file:' && $.os.ios && window.webkit && window.webkit.messageHandlers && !(xhr instanceof plus.net.XMLHttpRequest)){  
                return plus.net.XMLHttpRequest;  
        }  
        else{  
            return new window.XMLHttpRequest();  
        }  
    }  
0 关注 分享

要回复文章请先登录注册