2017-07-12 4 views
0

Warum funktioniert meine HTTP.call() Funktion nicht wie geplant.Warum funktioniert meine HTTP.call() nicht?

Wenn ich den Code unten in meinem Browser-Konsole ausführen:

var postData = { 
data: { 

    "username": "SirBT", 
    "productName": "Choma", 
    "phoneNumber": "+254700087633", 
    "currencyCode": "KES", 
    "amount": "666"  
    } 

} 

HTTP.call('POST', ''http://2117c3a8.ngrok.io/AConnect/c2b.php', 
{ headers: { apiKey: 'AC6ea8e1541e7ee0c40915e' }}, 
    postData, 
    function(error, result) { 
    if (error) { 
     console.log(error); 
    } 
    if (result) { 
     console.log(result); 
    } 
} 
); 

ich diese Fehlermeldung:

Uncaught Error: Can't make a blocking HTTP call from the client; callback required.(…) 

Nach ein wenig Recherche, fand ich heraus, dass ich es laufen sollte aus der server, was ich jetzt mache aber ich erhalte diese fehlermeldungen im endgerät:

W20170712-17:31:47.726(3)? (STDERR)  /home/sirbt/escrow/.meteor/local/build/programs/server/packages/http.js:187 
W20170712-17:31:47.728(3)? (STDERR)  callback(error, response);                      // 74 
W20170712-17:31:47.732(3)? (STDERR)  ^
W20170712-17:31:47.733(3)? (STDERR) 
W20170712-17:31:47.735(3)? (STDERR) TypeError: callback is not a function 
W20170712-17:31:47.736(3)? (STDERR)  at  packages/http/httpcall_server.js:74:7 
W20170712-17:31:47.737(3)? (STDERR)  at packages/underscore.js:784:19 
W20170712-17:31:47.738(3)? (STDERR)  at Request._callback (packages/http/httpcall_server.js:116:5) 
W20170712-17:31:47.740(3)? (STDERR)  at Request.self.callback (/home/sirbt/.meteor/packages/http/.1.2.12.1w7h08f++os+web.browser+web.cordova/npm/node_modules/request/request.js:200:22) 
W20170712-17:31:47.741(3)? (STDERR)  at emitTwo (events.js:87:13) 
W20170712-17:31:47.742(3)? (STDERR)  at Request.emit (events.js:172:7) 
W20170712-17:31:47.743(3)? (STDERR)  at Request.<anonymous> (/home/sirbt/.meteor/packages/http/.1.2.12.1w7h08f++os+web.browser+web.cordova/npm/node_modules/request/request.js:1067:10) 
W20170712-17:31:47.745(3)? (STDERR)  at emitOne (events.js:82:20) 
W20170712-17:31:47.746(3)? (STDERR)  at Request.emit (events.js:169:7) 
W20170712-17:31:47.747(3)? (STDERR)  at IncomingMessage.<anonymous> (/home/sirbt/.meteor/packages/http/.1.2.12.1w7h08f++os+web.browser+web.cordova/npm/node_modules/request/request.js:988:12) 
=> Exited with code: 1 

Wir freuen uns zu Ihrer Hilfe

+0

Die Antwort in der Fehlermeldung widerspiegelt. Sie sollten "Callback" verwenden –

Antwort

1

Sie haben 5 Argumente, während docs write Sie 4 von ihnen benötigen.

Check in meinen Code-Schnipseln wie postData Feld verändert wird, ist es in dem gleichen Objekt wie headers

HTTP.call('POST', 'http://2117c3a8.ngrok.io/AConnect/c2b.php', { 
    headers: { apiKey: 'AC6ea8e1541e7ee0c40915e' }, 
    data: postData 
}, function(error, result) { 
    if (error) { 
     console.log(error); 
    } 
    if (result) { 
     console.log(result); 
    } 
}); 
+0

Vielen Dank! Du hast mir wirklich Stunden der Qualen gerettet! Irgendeine Möglichkeit, die Sie mir vielleicht mit diesem helfen könnten, das von der oben genannten Frage ableitete: [Link] https://stackoverflow.com/questions/45065295/how-do-i-modify-my-http-call-so- that-it-returns-relevante Information – SirBT

Verwandte Themen