• Laya 使用get或post请求服务器


    export default class Request {
        private _http;
        private _server = "https://test.codeplanet.cc";//
        static _instance = null;
      //把自己设置为单例模式,不销毁则一直存在
        static getInstance(): Request {
            if (!Request._instance) {
                Request._instance = new Request;
            }
            return Request._instance;
        }
        set server(str: string) {
            this._server = str;
        }
        /**
         * 
         * @param url {string} url地址
         * @param data {object} 参数
         * 
         */
        post(params) {
            this._http = new Laya.HttpRequest();
            let requst = new Promise((resolve, reject) => {
                this._http.once(Laya.Event.COMPLETE, this, e => { resolve(this.onCompleteHanlder(e)) })
            })
            let data = this.parseParam(params.data) || {};
            let url = this.getServerFullUrl(params.url)
            this._http.send(url, data, 'post', 'text');
            return requst;
        }
        get(params) {
            this._http = new Laya.HttpRequest();
            let requst = new Promise((resolve, reject) => {
                this._http.once(Laya.Event.COMPLETE, this, e => { resolve(this.onCompleteHanlder(e)) })
            })
            let data = this.parseParam(params.data) || {};
            this._http.send(params.url, data, 'get', 'text');
            return requst;
        }
        private onCompleteHanlder(e: any) {
            return JSON.parse(e);
        }
        private parseParam(data) {
            var body = '';
            for (var i in data) {
                body += i + "=" + data[i] + "&"
            }
            return body.slice(0, -1);
        }
        private getServerRootUrl() {
            return this._server ? this._server : window.location.origin;
        }
        private getServerFullUrl(partUrl) {
            let root = this.getServerRootUrl();
            if (root) {
                console.log('getServerFullUrl ' + root + partUrl);
                return root + partUrl;
            }
            return partUrl;
        }
    }
    //调用
    import Request from "../tools/Request";//引用request文件
    private _request: Request = Request.getInstance();

    this._request.post({ "/home/index", {type:1} }).then(res => {
        
    })
     
  • 相关阅读:
    组合数据类型综合练习:1.组合数据类型练习
    Python基础综合练习(五角红旗+字符串练习)
    熟悉常用的Linux操作作业
    大数据概论/作业
    C语言文法
    实验一实验报告
    词法分析程序代码
    jmeter分布式压力测试
    使用badboy配合jmeter测试(详细)
    静态测试,动态测试
  • 原文地址:https://www.cnblogs.com/cubesugarnuo/p/12362951.html
Copyright © 2020-2023  润新知