cocos creator使用http

Date.prototype.Format = function (fmt) {

    var o = {

        "M+": this.getMonth() + 1, //月份 

        "d+": this.getDate(), //日 

        "h+": this.getHours(), //小时 

        "m+": this.getMinutes(), //分 

        "s+": this.getSeconds(), //秒 

        "q+": Math.floor((this.getMonth() + 3) / 3), //季度 

        "S": this.getMilliseconds() //毫秒 

    };

    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));

    for (var k in o)

        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));

    return fmt;

}

var HTTP = cc.Class({

    extends: cc.Component,

    statics: {

        url: URL,

        sendRequest: function (path, data, handler, extraUrl) {

            var xhr = cc.loader.getXMLHttpRequest();

            xhr.timeout = 20000;

            var str = "?";

            for (var k in data) {

                if (str != "?") {

                    str += "&";

                }

                str += k + "=" + data[k];

            }

            if (extraUrl == null) {

                extraUrl = HTTP.url;

            }

            var requestURL = extraUrl + path + encodeURI(str);

            console.log("RequestURL:" + requestURL);

            xhr.open("GET", requestURL, true);

            if (cc.sys.isNative) {

                xhr.setRequestHeader("Accept-Encoding", "gzip,deflate", "text/html;charset=UTF-8");

            }

            xhr.onreadystatechange = function () {

                if (xhr.readyState === 4 && (xhr.status >= 200 && xhr.status < 300)) {

                    console.log("http res(" + xhr.responseText.length + "):" + xhr.responseText);

                    try {

                        var ret = JSON.parse(xhr.responseText);

                        if (handler !== null) {

                            handler(ret);

                        }                        /* code */

                    } catch (e) {

                        cc.log("err:" + e);

                        //handler(null);

                    }

                    finally {

                       //你想干啥

                    }

                }

            };

            xhr.send();

            return xhr;

        },

    },

});

猜你喜欢

转载自blog.csdn.net/baidu_37132424/article/details/83616246