var httpUtils = cc.Class({ extends: cc.Component, properties: { // foo: { // default: null, // The default value will be used only when the component attaching // to a node for the first time // url: cc.Texture2D, // optional, default is typeof default // serializable: true, // optional, default is true // visible: true, // optional, default is true // displayName: 'Foo', // optional // readonly: false, // optional, default is false // }, // ... }, statics: { instance: null }, // use this for initialization onLoad: function() {}, httpGets: function(url, callback) { var xhr = cc.loader.getXMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status >= 200 && xhr.status < 400) { var response = xhr.responseText; if (response) { // var responseJson = JSON.parse(response); callback(response); } else { console.log("返回数据不存在"); callback(-1); } } else { console.log("请求失败"); callback(-1); } } }; xhr.open("GET", url, true); xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); if (cc.sys.isNative) { xhr.setRequestHeader("Accept-Encoding", "gzip,deflate"); } // note: In Internet Explorer, the timeout property may be set only after calling the open() // method and before calling the send() method. xhr.timeout = 5000; // 5 seconds for timeout xhr.send(); }, httpPost: function(url, params, callback) { var xhr = cc.loader.getXMLHttpRequest(); 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(response); } else { console.log("返回数据不存在"); callback(-1); } } else { console.log("请求失败"); callback(-1); } } }; xhr.open("POST", url, true); xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); if (cc.sys.isNative) { xhr.setRequestHeader("Accept-Encoding", "gzip,deflate"); } // note: In Internet Explorer, the timeout property may be set only after calling the open() // method and before calling the send() method. xhr.timeout = 5000; // 5 seconds for timeout xhr.send(params); } }); httpUtils.getInstance = function() { if (httpUtils.instance == null) { httpUtils.instance = new httpUtils(); } return httpUtils.instance; };