Meteor.call没有在服务器上触发,在控制台中很好

时间:2014-09-30 20:07:43

标签: meteor

我有一个服务器方法:

server / methods.js

Meteor.methods({
removeStructure: function(id) {
    this.unblock();
    console.log("method removestructure was called on "+ id);
    Structure.remove({"overlay_id": id}, function(error, result) {
        if (error) {
            console.log(error);
        } else {
            console.log("Deleted " + result + " structures.");
        }
    });
}

从集合中删除文档时,在观察者中调用它:

的客户机/ x.js

Overlays.find().observe({    
    removed: function(item) {
        console.log('Overlay removed' );
        if ( Meteor.isClient ) {
            drawnItems.eachLayer(function (layer) {
                if (layer.meteor_id == item._id) {
                    drawnItems.removeLayer(layer);
                }
            });
        }
        console.log("attempting to remove meteor id " + item._id);
        Meteor.call("removeStructure", item._id);
    }
});

什么都没发生。跟踪"试图删除流星id jykkcEJuBL4NfJdte"触发,但是meteor方法不会在服务器上调用。客户端或服务器没有返回任何错误,就像它在该行上跳过清理一样。

当我输入客户端浏览器控制台

Meteor.call("removeStructure", "jykkcEJuBL4NfJdte");

它在服务器和客户端上运行没有问题。

这里可能出现什么问题?很难过!

0 个答案:

没有答案