javascript - एक्सप्रेस में यूआरएल पैरामीटर कैसे प्राप्त करें?




node.js express url-parameters query-parameters (5)

आप req.param('tagId') जैसे कुछ कर सकते हैं

मुझे अपने यूआरएल से tagid का मूल्य प्राप्त करने पर एक समस्या का सामना करना पड़ रहा है: localhost:8888/p?tagid=1234

मेरे नियंत्रक कोड को सही करने के लिए मेरी मदद करें। मैं tagid मान प्राप्त करने में सक्षम नहीं हूं।

मेरा कोड निम्नानुसार है:

app.js :

var express = require('express'),
  http = require('http'),
  path = require('path');
var app = express();
var controller = require('./controller')({
  app: app
});

// all environments
app.configure(function() {
  app.set('port', process.env.PORT || 8888);
  app.use(express.json());
  app.use(express.urlencoded());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(path.join(__dirname, 'public')));
  app.set('view engine', 'jade');
  app.set('views', __dirname + '/views');
  app.use(app.router);
  app.get('/', function(req, res) {
    res.render('index');
  });
});
http.createServer(app).listen(app.get('port'), function() {
  console.log('Express server listening on port ' + app.get('port'));
});

Controller/index.js :

function controller(params) {
  var app = params.app;
  //var query_string = request.query.query_string;

  app.get('/p?tagId=/', function(request, response) {
    // userId is a parameter in the url request
    response.writeHead(200); // return 200 HTTP OK status
    response.end('You are looking for tagId' + request.route.query.tagId);
  });
}

module.exports = controller;

routes/index.js :

require('./controllers');
/*
 * GET home page.
 */

exports.index = function(req, res) {
  res.render('index', {
    title: 'Express'
  });
};

एक्सप्रेस 4.x

URL पैरामीटर का मान प्राप्त करने के लिए, req.params उपयोग req.params

app.get('/p/:tagId', function(req, res) {
  res.send("tagId is set to " + req.params.tagId);
});

// GET /p/5
// tagId is set to 5

यदि आप एक क्वेरी पैरामीटर प्राप्त करना चाहते हैं ?tagId=5 , फिर req.query उपयोग req.query

app.get('/p', function(req, res) {
  res.send("tagId is set to " + req.query.tagId);
});

// GET /p?tagId=5
// tagId is set to 5

एक्सप्रेस 3.x

यूआरएल पैरामीटर

app.get('/p/:tagId', function(req, res) {
  res.send("tagId is set to " + req.param("tagId"));
});

// GET /p/5
// tagId is set to 5

प्रश्न पैरामीटर

app.get('/p', function(req, res) {
  res.send("tagId is set to " + req.query("tagId"));
});

// GET /p?tagId=5
// tagId is set to 5

यदि आपका मार्ग इस तरह है तो यह काम करेगा: लोकलहोस्ट: 8888 / पी? टैगिड = 1234

var tagId = req.query.tagid;
console.log(tagId);// 1234
console.log(req.query.tagid);// 1234
            OR

यदि आपका मार्ग इस तरह है तो यह काम करेगा: लोकलहोस्ट: 8888 / पी /: टैगिड = 1234

var tagId = req.params.tagid;
console.log(tagId); //1234
console.log(req.params.tagid); //1234

यदि आप यूआरएल में क्वेरी पैरामीटर मान को पकड़ना चाहते हैं, तो नीचे दिए गए कोड टुकड़े का पालन करें

//url.localhost:8888/p?tagid=1234
req.query.tagid
OR
req.param.tagid

यदि आप एक्सप्रेस पैराम फ़ंक्शन का उपयोग करके URL पैरामीटर को पकड़ना चाहते हैं

एक विशिष्ट पैरामीटर को पकड़ने के लिए एक्सप्रेस परम फ़ंक्शन। इसे मिडलवेयर माना जाता है और मार्ग से पहले चलाया जाएगा।

इसका उपयोग सत्यापन के लिए या आइटम के बारे में महत्वपूर्ण जानकारी को पकड़ने के लिए किया जा सकता है।

इसके लिए एक उदाहरण होगा:

// parameter middleware that will run before the next routes
app.param('tagid', function(req, res, next, tagid) {

// check if the tagid exists
// do some validations
// add something to the tagid
var modified = tagid+ '123';

// save name to the request
req.tagid= modified;

next();
});

// http://localhost:8080/api/tags/98
app.get('/api/tags/:tagid', function(req, res) {
// the tagid was found and is available in req.tagid
res.send('New tag id ' + req.tagid+ '!');
});

यहाँ एक समय देरी पुनर्निर्देशन है। आप जो भी चाहते हैं उसके लिए विलंब समय निर्धारित कर सकते हैं:

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Your Document Title</title>
    <script type="text/javascript">
        function delayer(delay) {
            onLoad = setTimeout('window.location.href = "http://www.google.com/"', delay);
        }
    </script>
</head>

<body>
    <script>
        delayer(8000)
    </script>
    <div>You will be redirected in 8 seconds!</div>
</body>

</html>




javascript node.js express url-parameters query-parameters