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;

        },

    },

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值