Birisi, bazı verilerin nasıl iletilip alınacağı da dahil olmak üzere, node.js Express'ten bir posta isteği göndermenin en kolay yolunu gösterebilir mi? PHP'de cURL'ye benzer bir şey bekliyorum.node.js Express'ten bir POST isteği nasıl gönderilir?
cevap
olarak bir yayın isteği için here tarif:
var http = require('http');
var options = {
host: 'www.host.com',
path: '/',
port: '80',
method: 'POST'
};
callback = function(response) {
var str = ''
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function() {
console.log(str);
});
}
var req = http.request(options, callback);
//This is the data we are posting, it needs to be a string or a buffer
req.write("data");
req.end();
akışları, geri çağrıları ile vay vay, ve böyle şeyler hızlı elden olsun. Neredeyse C –
@MuhammadUmer'de çalışmak gibi hissettiriyor. Söz veri arayüzünü kullanırsanız, geri dönüş konusunda daha kolay bir şey olduğunu düşünüyorum. Bu modülü hiç kullanmadım ama istek nesnesi üzerinde söz veren bir “istek-söz” var. – dvhh
JQuery Simliar olan superagent
kullanın.
var sa = require('superagent');
sa.post('url')
.send({key: value})
.end(function(err, res) {
//TODO
});
var request = require('request');
function updateClient(postData){
var clientServerOptions = {
uri: 'http://'+clientHost+''+clientContext,
body: JSON.stringify(postData),
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
}
request(clientServerOptions, function (error, response) {
console.log(error,response.body);
return;
});
}
Bunun işe yaraması için, sunucu gibi bir şey olmalı:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json())
var port = 9000;
app.post('/sample/put/data', function(req, res) {
console.log('receiving data ...');
console.log('body is ',req.body);
res.send(req.body);
});
// start the server
app.listen(port);
console.log('Server started! At http://localhost:' + port);
[kullanın 'request' İşte
docsVe benzeri demodur ] (http://stackoverflow.com/a/28297185/1377002). – Andy
bu http://stackoverflow.com/questions/6819143/curl-equivalent-in-nodejs adresini ziyaret edin –
[http://stackoverflow.com/questions adresinde [HTTP POST isteği nasıl yapılır?]/6158933/nasıl yapılır-yapmak-bir-http-post-in-node-js) – AechoLiu