跳到主要内容

URLLoader发送带参数的请求

如果在网络请求的同时还需要提交数据,需要使用 URLVariables

使用 URLVariables 类可以在应用程序和服务器之间传输变量。将 URLVariables 对象与 URLLoader 类的方法、 URLRequest 类的 data 属性一起使用。

一般来说,向服务器提交数据实际上总是包含两个步骤,提交数据与读取返回信息。

  1. 提交的数据放入 URLRequest 对象的 data 属性值,并通过 URLRequest 对象提交。
  2. 读取服务器端脚本返回的数据

具体示例代码如下:


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());

}

}


编译后运行,效果如图