可以看到官网实例上的post请求是 application/x-www-form-urlencoded 格式,传递的类型是Form Data
实际上调试接口发现,项目中的接口数据只能接收下图的
application/json 格式和Request Payload类型
于是简单封装了一下Laya中的post请求
发现这样写有问题
最终改动成下面代码可以正常发送请求
// 部分代码
post(params: {
url: string,
data: string | any[] | object
}) {
this._http = new Laya.HttpRequest();
let requst = new Promise((resolve, reject) => {
this._http.once(Laya.Event.COMPLETE, this, e => {
resolve(this.onCompleteHanlder(e))
})
})
//不用在此处将data转成字符串
let data = params.data
let url = this.getServerFullUrl(params.url)
//此处去掉了指定的数据类型
this._http.send(url, data, 'post');
return requst;
}