Meteor Call 对象与接收到的 Meteor Method 对象不同
Meteor Call object is different to the received Meteor Method object
我正在使用 Meteor Call 和 Meteor 方法将对象从客户端发送到服务器。
当在 Method
中接收到对象时,它看起来会有所不同。它嵌套在 giftList
中
流星呼唤 - JSON.stringify
{"personName":"Default person name","username":"","gifts":[]}
流星法
{"giftList":{"personName":"Default person name","username":"","gifts":[]}}
流星召唤码
console.log(JSON.stringify(giftList)) // {"personName":"Default person name","username":"","gifts":[]}
Meteor.call("addGiftList", {giftList}, (err: any, res) => {});
流星法代码
Meteor.methods({
"addGiftList": function (giftList: GiftList): void {
console.log(JSON.stringify(giftList)) // {"giftList":{"personName":"Default person name","username":"","gifts":[]}}
return GiftListCollectionManager.getInstance().insert(giftList);
}
});
礼品清单
export class GiftList {
personName: string = "";
username: string = "";
gifts: Gift[] = [];
}
为什么接收到的对象不同,正确的处理方法是什么?
我认为原因是你将 giftList
传递给 Meteor.call 的方式。传入 {giftList}
是 shorthand for { giftList: giftList }
.
尝试以下操作:
Meteor.call("addGiftList", giftList, (err: any, res) => {});
我正在使用 Meteor Call 和 Meteor 方法将对象从客户端发送到服务器。
当在 Method
中接收到对象时,它看起来会有所不同。它嵌套在 giftList
流星呼唤 - JSON.stringify
{"personName":"Default person name","username":"","gifts":[]}
流星法
{"giftList":{"personName":"Default person name","username":"","gifts":[]}}
流星召唤码
console.log(JSON.stringify(giftList)) // {"personName":"Default person name","username":"","gifts":[]}
Meteor.call("addGiftList", {giftList}, (err: any, res) => {});
流星法代码
Meteor.methods({
"addGiftList": function (giftList: GiftList): void {
console.log(JSON.stringify(giftList)) // {"giftList":{"personName":"Default person name","username":"","gifts":[]}}
return GiftListCollectionManager.getInstance().insert(giftList);
}
});
礼品清单
export class GiftList {
personName: string = "";
username: string = "";
gifts: Gift[] = [];
}
为什么接收到的对象不同,正确的处理方法是什么?
我认为原因是你将 giftList
传递给 Meteor.call 的方式。传入 {giftList}
是 shorthand for { giftList: giftList }
.
尝试以下操作:
Meteor.call("addGiftList", giftList, (err: any, res) => {});