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 => {      })  
上一篇:Laya连线小游戏


下一篇:关于jq操作table下多个type=radio的input的选中