【cocos2d-js网络教程篇】cocos2d-js http网络请求
来源:互联网 发布:数据库三大范式好处 编辑:程序博客网 时间:2024/04/25 23:59
前言
刚入手cocos2d-js,看到网上的JS的http网络请求,大部分都是错的。原因在于,js-tests里面的网络请求实例没有给出加载完成事件。正确的加载完成事件如下:
var xhr = cc.loader.getXMLHttpRequest(); xhr.open("POST", url); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); xhr["onloadend"] = function(){};
Http.js完整类
var Http = cc.Class.extend({ m_inst : null, //实例 url : "http://127.0.0.1:8080/request.php", ctor : function(){ }, /* * 网络请求之GET * url 请求的网络地址 * callback 回调参数 * */ getWithUrl : function(url,callback){ var xhr = cc.loader.getXMLHttpRequest(); xhr.open("GET",url,true); xhr["onloadend"] = function () { if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status <= 207)) { err = false; }else{ err = true; } var response = xhr.responseText; callback(err,response); }; xhr.send(); }, /* * 网络请求之POST * url 请求的网络地址 * params 请求参数 ("id=1&id=2&id=3") * callback 回调参数 ['loadstart', 'abort', 'error', 'load', 'loadend', 'timeout'] * */ sendWithUrl : function(url, params, callback){ var xhr = cc.loader.getXMLHttpRequest(); xhr.open("POST", url); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); xhr["onloadend"] = function(){ var sc = -1 if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status <= 207)) { sc = 0; } var json = JSON.parse(xhr.responseText) var rc = parseInt(json["code"]) callback(sc, rc, json); if(sc == 0 && (rc != 0) && RETCODE[rc + ""]) { Alert.getInst().show(RETCODE[rc + ""]) } else if(sc != 0 || rc != 0 ){ Alert.getInst().show("sc: " + sc + " rc: " + rc) } } xhr.send(params); }});//获取实例Http.inst = function() { if (Http.m_inst == null) { Http.m_inst = new Http(); } return Http.m_inst;};
使用方法
Http.inst()->sendWithUrl("http://127.0.0.1:8080/request.php", "id=1&id=2&id=3", function(sc, rc, response){ cc.log("返回数据" + response);});
0 0
- 【cocos2d-js网络教程篇】cocos2d-js http网络请求
- 【cocos2d-js教程】cocos2d-js http网络请求
- 【cocos2d-js教程】cocos2d-js http网络请求
- cocos2d - JS Http请求
- cocos2d js 请求网络
- cocos2d-js 网络请求(GET)
- cocos2d-js 网络请求(GET)
- Cocos2d-JS 基于HTTP网络通信
- cocos2d-x 网络请求 Http
- cocos2d-js 中封装HTML5和Native的Http请求
- cocos2d-js跨域访问问题,cocos2d-js请求网络数据
- Cocos2d-js HTTP学习笔记
- cocos2d-js
- cocos2d-js
- cocos2d-js
- Cocos2d-js
- cocos2d-x http请求
- cocos2d-js 3.0 显示网络图片
- 安卓SUPPORT library系列使用
- App架构经验总结
- Java基础学习总结(31)——Java思维导图
- 在 SQL Server 2014 附加示例数据库 Adventure Works 2014 过程详解
- sql语句
- 【cocos2d-js网络教程篇】cocos2d-js http网络请求
- U3d基础知识1
- 子线程更新UI,牵扯activity的启动过程
- 【慕课笔记】4-3 字节流之文件输出流FileOutputStream
- 【TomoEngine】 第一讲 太空遨游(一) 创建太阳系
- iso 自有 正反编码
- java.lang.IndexOutOfBondsException:setSpan(3..3) ends beyond length 2
- React-约束组件及无约束组件详解
- Unity3D -- 快速排序