2015-09-01 9 views
13

क्या कोई मुझे कुछ डेटा पास करने और पुनर्प्राप्त करने सहित, नोड.जेएस एक्सप्रेस से पोस्ट अनुरोध भेजने का सबसे आसान तरीका दिखा सकता है? मैं PHP में curl के समान कुछ की उम्मीद कर रहा हूँ।node.js एक्सप्रेस से POST अनुरोध कैसे भेजें?

+2

[का उपयोग करें 'request'

यहाँ docs

और की तरह डेमो है ] (http://stackoverflow.com/a/28297185/1377002)। – Andy

+1

यह http://stackoverflow.com/questions/6819143/curl-equivalent-in-nodejs –

+0

संभावित डुप्लिकेट [कैसे नोड.जेएस में HTTP पोस्ट अनुरोध कैसे करें?] (Http://stackoverflow.com/questions/6158933/कैसे-टू-मेक-ए-एचटीएमएल-पोस्ट-अनुरोध-इन-नोड-जेएस) – AechoLiu

उत्तर

2

के रूप में एक पोस्ट अनुरोध के लिए here वर्णित:

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(); 
+0

धाराओं, कॉलबैक, और ऐसी चीजों के साथ वाह हाथ से बाहर निकलते हैं। यह लगभग सी –

+0

@MuhammadUmer में काम करने जैसा लगता है मुझे लगता है कि अगर आप वादा इंटरफेस का उपयोग करते हैं तो कॉलबैक के बारे में बात आसान हो रही है। मैंने इस मॉड्यूल का कभी भी उपयोग नहीं किया है, लेकिन एक अनुरोध-वादा 'है जो अनुरोध वस्तु पर वादा लागू करता है – dvhh

2

मैं superagent, जो jQuery के लिए simliar है का उपयोग करें।

var sa = require('superagent'); 
sa.post('url') 
    .send({key: value}) 
    .end(function(err, res) { 
    //TODO 
    }); 
3
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; 
      }); 
     } 

इस कार्य के लिए, अपने सर्वर होना चाहिए कुछ की तरह:

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); 
संबंधित मुद्दे