[]关于HttpRequest

看了一下HttpRequest的API 发现发送的数据支持方式有点少
例如 如果是下面这样的结构 就不好发给服务器
var obj: Object = {
name: "stone",
list: [1, 2, 3],
items: [
{
id: 1,
count: 10
},
{
id: 2,
count: 0
}
]
};
已邀请:

callback

赞同来自:

已解决。。

cuixueying

赞同来自:

不支持发送这样格式的数据,必须发送字符串形式的数据,请转成字符串进行数据发送!

callback

赞同来自:

/**
* param 将要转为URL参数字符串的对象
* key URL参数字符串的前缀
* encode true/false 是否进行URL编码,默认为true
*
* return URL参数字符串
*/
public static urlEncode(param:any, key?:any, encode:boolean = true):string{
if (param == null) return '';
var paramStr = '';
var t = typeof (param);
if (t == 'string' || t == 'number' || t == 'boolean') {
paramStr += '&' + key + '=' + ((encode == null || encode) ? encodeURIComponent(param) : param);
} else {
for (var i in param) {
var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);
paramStr += CommonUtils.urlEncode(param[i], k, encode);
}
}
// var paramStr = "";
// for (var prop in param) {
// paramStr += prop + "=" + param[prop] + "&";
// }
// paramStr = paramStr.substring(0, paramStr.length - 1);
return paramStr;
};

var obj: Object = {
name: "stone",
list: [1, 2, 3],
items: [
{
id: 1,
count: 10
},
{
id: 2,
count: 0
}
]
};
// var s: string = JSON.stringify(obj);
var s:string = CommonUtils.urlEncode(obj);

var hr = new Laya.HttpRequest();
hr.once(Laya.Event.PROGRESS, this, function (e) {
console.log(e);
});
hr.once(Laya.Event.COMPLETE, this, function () {
console.log(hr.data);
});
hr.once(Laya.Event.ERROR, this, function (e) {
console.log(e);
});
hr.send('http://stone.tt.be-xx.com/git/test.php', s, 'post', 'text');

Log.trace(s);

 
怎么转 我这样转的 但是后端收到的数据感觉不对呢
具体看图
 
 

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作