2015-10-27 23 views
0

我已經使用superagent實現了一個具有幾個POST/GET/CREATE函數的ApiHandler類。我想用我在Views中定義的這些函數。如何使用在其他類中定義的函數(POST/GET/DELETE with superagent)

這是我ApiHandler類:

var request = require ('superagent'); 
var ApiHandler = { 

loginPOST: function (email, password, cb) { 
    request 
    .post(BASE_URL + TOKENS) 
    .type('json') 
    .send({ 
     email: email, 
     password: password 
    }) 
    .end(cb) 
    }, 
} 

module.export = ApiHandler; 

現在我想盡快用它在我的意見,因爲我打了一個按鈕事件應該調用這個函數。

我ButtonListener:

btnLogin:function(){ 
ApiHandler.loginPOST(this.state.usernameOrEmail, this.state.password, function (err, res) { 
     // Calling the end function will send the request 
     if (res.status == 200) { 
      var token = JSON.parse(res.text).token; // working 
      ToastAndroid.show("POST Response -> " + token, ToastAndroid.SHORT) 
     } else { 
      ToastAndroid.show("POST Response -> " + err.text, ToastAndroid.SHORT) 
     } 
    }); 
} 

我得到的錯誤:未定義是不是(評估 'ApiHandler.loginPOST')

+0

你應該使用'fetch'而不是superagent。你是否需要(「ApiHandler」)? (或其路徑) –

+0

是的,我做到了。我之前使用了fetch(),並且網絡請求失敗。我讀了一些東西,他們使用superagent修復了它。我想用fetch()代替,但在我的情況下沒有工作... – BigPun86

回答

1

你只是有一個錯字的功能......這應該是

module.exports = ApiHandler; 

注意s!現在應該工作:D

+0

好吧,非常糟糕的錯誤...對於令人不安的人們抱歉:P – BigPun86

相關問題