Egret笔记之网络请求与数据处理

内容参考Egret官方文档:

http://docs.egret-labs.org/post/manual/net/createconnect.html

但是有些地方官方并没有写的很清楚,在此记录,供大家参考学习:

1-GET请求,解析返回的数据:

代码里面提供了两种把数据解析成Json格式的方法。(注意URLLoaderDataFormat为TEXT)

private getDataFromServer(){
    var url:string ="http://httpbin.org/get";
    var loader:egret.URLLoader = new egret.URLLoader();
    // 设置返回数据格式
    loader.dataFormat = egret.URLLoaderDataFormat.TEXT;
    loader.addEventListener(egret.Event.COMPLETE,this.onGetComplete,this);

    var request:egret.URLRequest = new egret.URLRequest(url);
    request.method = egret.URLRequestMethod.GET;
    loader.load(request);
}

private onGetComplete(event:egret.Event):void {
    var loader:egret.URLLoader = <egret.URLLoader> event.target;
    var data:egret.URLVariables = loader.data;
    // 1.采用js的解析方法
    var js = eval("("+data.toString()+")");
    console.log("origin:"+js.origin);
    // 2.采用json解析器方法
    var txt = data.toString();
    var obj = JSON.parse(txt);
    console.log("origin:"+obj.origin);
}

2-POST请求,携带数据给服务器:

  注:这里面param1,param2均是向服务器发送的参数名称,后面为其值。多个参数之间用&隔开。

request.data = new egret.URLVariables("test=ok&oo=1");
private postDataToServer() {
    var url:string = "http://httpbin.org/post";
    var loader:egret.URLLoader = new egret.URLLoader();
    loader.dataFormat = egret.URLLoaderDataFormat.TEXT;
    loader.addEventListener(egret.Event.COMPLETE, this.onPostComplete, this);

    var request:egret.URLRequest = new egret.URLRequest(url);
    request.method = egret.URLRequestMethod.POST;
    //发送数据格式:"a=1&b=2&c=3"
    request.data = new egret.URLVariables("param1=ok&param2=1");
    loader.load(request);
}

private onPostComplete(event:egret.Event):void {
    var loader:egret.URLLoader = <egret.URLLoader> event.target;
    var data:egret.URLVariables = loader.data;
    console.log(data.toString());
    // 具体解析参考上面的代码
}
时间: 2024-10-23 01:37:15

Egret笔记之网络请求与数据处理的相关文章

《android开发进阶从小工到专家》读书笔记--HTTP网络请求

No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服务器的TCP连接 5)客户端通过输出流向服务器发送一条HTTP请求 6)服务器向客户端回送一条HTTP响应报文 7)客户端从输入流获取报文 8)客户端解析报文,关闭连接 9)客户端将结果显示在UI上 No2: HTTP请求方式: 1)GET 获取服务器中某个资源,www.devtf.cn/artic

python学习笔记-day8-3-【python 网络请求及requests模块】

python的网络请求,主要是进行Http协议类接口调用,进行接口测试等. 一.urllib库,python内嵌的库,不太好用. from urllib import request,parse import json # url = 'http://baidu.com' # req = request.urlopen(url) #打开一个url # content = req.read().decode() # fw = open('nnzhp.html', 'w', encoding='ut

Android 网络请求及数据处理

Android 网络请求: 1.Volley   http://blog.csdn.net/t12x3456/article/details/9221611 2.Android-Async-Http   http://www.cnblogs.com/angeldevil/p/3729808.html Android Json 处理: 1.Gson 2.fast-json

C#网络请求与JSON解析

最新学校的海康摄像头集控平台(网页端)不能在win10里登录,我寻思着拿海康的c# demo直接改. 首先得解决权限问题,每个教师任教不同年级,只能看到自己所在年级的设备,涉及到登录,在此记录一下C#中网络请求和数据处理的一些内容.大致流程为: 客户端发起登录请求: 服务端验证账号密码 返回json字符串,包含用户信息.平台配置等信息 客户端解析并初始化 一.发起GET请求 private string HttpGet(string api) { string serviceAddress =

关于 Unity3D 网络请求的笔记

Unity 脚本 关于网络请求的方法有如下: public WWW (string url, byte[] postData, Dictionary<string, string> headers) public WWW (string url, byte[] postData, Hashtable headers)  ----->  deprecated public WWW (string url, byte[] postData) public WWW (string url, W

Egret网络请求之超时或异常的处理

 /**          * 发送网络请求          * @param reqUrl http://www.aaa.com          * @param postData uid=0&name="ch"&money=999          * @param callback 回调函数          * var loader:egret.URLLoader = <egret.URLLoader> event.target;        

iOS学习笔记---网络请求

一.HTTP协议的概念 HTTP协议:Hyper Text Transfer Protocol(超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议.HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型(c/s) HTTP协议的特点 支持客户/服务器模式(c/s模式) 简单快速 灵活,HTTP允许任意类型的对象进行传输,正在传输的对象类型由Content-type加以标记 iOS学习笔记---网络请求

Android进阶笔记01:Android 网络请求库的比较及实战(一)

在实际开发中,有的时候需要频繁的网络请求,而网络请求的方式很多,最常见的也就那么几个.本篇文章对常见的网络请求库进行一个总结. 一.使用HttpUrlConnection: 1. HttpUrlConnection 最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android2.2及以下版本中HttpUrlConnection存在着一些bug,所以建议在android2.3以后使用HttpUrlConnection,之前使用HttpCl

安卓 网络请求数据处理(在适配器中处理)

网络请求: 在onRespend里 EntityCatogory response response 对象    用法不介绍了 存起来: msg.obj = response新开线程 EntityCatogory obj = (EntityCatogory)msg.obj: TBCategory databased = new TBCategory(); databased.key = ...(keyy)..; databased.content= JGson.instance().gson()