URLLoader发送带参数的请求
如果在网络请求的同时还需要提交数据,需要使用 URLVariables
。
使用 URLVariables
类可以在应用程序和服务器之间传输变量。将 URLVariables
对象与 URLLoader
类的方法、 URLRequest
类的 data
属性一起使用。
一般来说,向服务器提交数据实际上总是包含两个步骤,提交数据与读取返回信息。
- 提交的数据放入
URLRequest
对象的data
属性值,并通过URLRequest
对象提交。 - 读取服务器端脚本返回的数据
具体示例代码如下:
class NetDemo extends egret.DisplayObjectContainer {
public constructor() {
super();
this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
}
private onAddToStage(event: egret.Event) {
const url: string = "http://httpbin.org/post";
const loader: egret.URLLoader = new egret.URLLoader();
loader.addEventListener(egret.Event.COMPLETE, this.onPostComplete, this);
const request: egret.URLRequest = new egret.URLRequest(url);
request.method = egret.URLRequestMethod.POST;
request.data = new egret.URLVariables("test=ok");
loader.load(request);
}
private onPostComplete(event: egret.Event): void {
const loader: egret.URLLoader = <egret.URLLoader\>event.target;
const data: egret.URLVariables = loader.data;
console.log(data.toString());
}
}
编译后运行,效果如图