![](/img/trans.png)
[英]Is a Server-side Javascript website possible without using client-side Javascript?
[英]Return server-side calculation to client without using a collection
數據是在客戶端上生成的,並保存在本地集合中:
ListLocal = new Mongo.Collection(null);
let seed = [{
name: "A",
value: 1
}, {
name: "B",
value: 2
}, {
name: "C",
value: 3
}];
if (ListLocal.find().count() === 0) {
ListLocal.forEach(function(entry) {
ListLocal.insert(entry);
});
};
然后將其在客戶端上傳遞給服務器以進行進一步處理:
Template.home.events({
"click .btn-process": function(event) {
event.preventDefault();
let localData = ListLocal.find({}).fetch();
Meteor.call("processData", localData);
}
});
服務器接受數據並將其傳遞給服務器端方法,該方法對數據進行一些處理。 將傳遞的對象的所有值加倍:
Meteor.methods({
processData(localData) {
calculateDouble(localData);
}
});
calculateDouble(localData) {
// ...
return calculatedData;
}
現在,我想在客戶端顯示此calculatedData,而不將其保存在服務器端數據庫中。
問題:如何將這些數據傳遞給客戶端?
只需從方法中返回數據:
Meteor.methods({
"processData": function(localData) {
return calculateDouble(localData);
}
});
calculateDouble(localData) {
// ...
return calculatedData;
}
在事件中調用方法:
Template.home.events({
"click .btn-process": function(event) {
event.preventDefault();
let localData = ListLocal.find({}).fetch();
Meteor.call("processData", localData, function(error, result){
//handle what you need to do with the result here.
});
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.