2017-09-23 15 views
0

我在meteor項目中遇到問題。我正嘗試使用campaign monitor api將電子郵件地址添加到訂閱者列表中。我正在使用名爲createsend-node的npm包,它是api的包裝。我已經成功地使用api將訂閱者添加到了列表中,但是當我嘗試從表單提交事件觸發流星服務器方法時,api會回退email address not valid response code 1。我將在下面包含我的代碼。當我沒有方法手動添加用戶時,它是成功的。當我手動通過它時,電子郵件地址是一個字符串,這與方法相同。代碼如下。電子郵件地址是來自流星js中活動監視器api的無效響應

HTML

<template name="info"> 
    <h2>Signup For Our Newsletter</h2> 

    <form id="cm-subscribe"> 

    <input field name="email" type="email" value="email"> 
    <input field name="name" type="text" value="name"> 

    <input type="submit"> 
    </form> 

</template> 

客戶端JS

Template.info.events({ 
    'submit #cm-subscribe'(event){ 
    event.preventDefault(); 
    var form = event.target; 
    var email = form.email.value; 
    var name = form.name.value; 
    console.log(email + "/" + name); 
    Meteor.call('addSub', email, name); 
    } 
}); 

服務器端JS

Meteor.methods({ 
    addSub: function (name, email) { 

    console.log(name); 
    console.log(email); 

    var listId = 'someid' // The ID of the list 
    var details = { 
     EmailAddress: email, 
     Name: name, 
     CustomFields: [ 
     { Key: 'CustomKey', Value: 'Some Value' } 
     ] 
    }; 

    api.subscribers.addSubscriber(listId, details, (err, res) => { 
     if (err) console.log(err); 
    }); 

    } 
}); 

回答

2

你已經扭轉了argum調用者和方法之間的連接。

Meteor.call('addSub', email, name) 

Meteor.methods({ 
    addSub: function (name, email) { 
+0

第二組眼睛是我所需要的。謝謝你這麼簡單。 –

相關問題