Cocos Creator网络请求

var appScript = {
    ip: "https://game.zuiqiangyingyu.net/wb",
    version: "1.0.0",   

    Get: function(url,reqData,callback){
        var self = this;

        url += "?";
        for(var item in reqData){
            url += item +"=" +reqData[item] +"&";
        }
        // console.log(self.ip + url)
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4){
                if(xhr.status >= 200 && xhr.status < 400){
                    var response = xhr.responseText;
                    // console.log(response)
                    if(response){
                        var responseJson = JSON.parse(response);
                        callback(responseJson);
                    }else{
                        console.log("返回数据不存在")
                        callback(false);
                    }
                }else{
                    console.log("请求失败")
                    callback(false);
                }
            }
        };
        xhr.open("GET", self.ip + url, true);
        xhr.send();
    },

    Post: function (url, reqData, callback) {
        var self = this;
        // console.log(url)
        // console.log(reqData)
        //1.拼接请求参数
        var param = "";
        for(var item in reqData){
            param += item + "=" + reqData[item] + "&";
        }
        //2.发起请求
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4){
                if(xhr.status >= 200 && xhr.status < 400){
                    var response = xhr.responseText;
                    // console.log(response)
                    if(response){
                        var responseJson = JSON.parse(response);
                        callback(responseJson);
                    }else{
                        console.log("返回数据不存在")
                        callback(false);
                    }
                }else{
                    console.log("请求失败")
                    callback(false);
                }
            }
        };
        xhr.open("POST", self.ip + url, true);
        xhr.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded");  
        xhr.send(param);//reqData为字符串形式: "key=value"
    },


};

module.exports = appScript;
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Cocos Creator中提供了一个名为cc.loader的模块,它可以用于进行http请求。 使用cc.loader进行http请求的基本步骤如下: 1. 引入cc.loader模块 ``` var loader = require('cc.loader'); ``` 2. 发送http请求 ``` loader.load(url, function (err, data) { if (err) { cc.error(err); return; } // 处理返回的数据 }); ``` 在上面的代码中,url表示要请求的地址。第二个参数是一个回调函数,当请求成功时会调用这个函数,并将返回的数据作为参数传入。 3. 发送带参数的http请求 如果需要发送带参数的http请求,可以使用cc.loader中的loadJson方法。例如: ``` var params = { username: 'abc', password: 'xyz' }; loader.loadJson(url, params, function (err, data) { if (err) { cc.error(err); return; } // 处理返回的数据 }); ``` 在上面的代码中,params是一个对象,表示要发送的参数。loadJson方法会将这个对象转换成json格式,并将其作为请求的body发送给服务器。 4. 发送带headers的http请求 如果需要发送带headers的http请求,可以使用cc.loader中的load方法,并指定headers参数。例如: ``` var headers = { 'Authorization': 'Bearer xxxxx', 'Content-Type': 'application/json' }; loader.load(url, { headers: headers }, function (err, data) { if (err) { cc.error(err); return; } // 处理返回的数据 }); ``` 在上面的代码中,headers是一个对象,表示要发送的headers。load方法会将这些headers添加到请求中,并发送给服务器。 5. 取消http请求 如果需要取消一个正在进行的http请求,可以调用cc.loader中的release方法,并传入正在进行的请求的url。例如: ``` var xhr = loader.load(url, function (err, data) { if (err) { cc.error(err); return; } // 处理返回的数据 }); // 取消请求 loader.release(xhr.url); ``` 在上面的代码中,xhr是一个XMLHttpRequest对象,表示正在进行的http请求。release方法会停止这个请求,并释放相关资源。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值