[node.js] Node.js의 Express.js에서 GET (쿼리 문자열) 변수를 얻는 방법은 무엇입니까?

$_GETPHP 에서와 마찬가지로 Node.js의 쿼리 문자열에서 변수를 얻을 수 있습니까?

Node.js에서 요청의 URL을 얻을 수 있음을 알고 있습니다. 쿼리 문자열 매개 변수를 얻는 방법이 있습니까?



답변

Express에서는 이미 완료되었으며 req.query 를 간단히 사용할 수 있습니다 .

var id = req.query.id; // $_GET["id"]

그렇지 않으면 NodeJS에서 req.url 및 내장 url모듈에 [url.parse] ( https://nodejs.org/api/url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost )에 수동으로 액세스 할 수 있습니다.

var url = require('url');
var url_parts = url.parse(request.url, true);
var query = url_parts.query;


답변

태그에 Express.js를 언급 했으므로 다음과 같은 특급 답변이 있습니다 : use req.query . 예 :

var express = require('express');
var app = express();

app.get('/', function(req, res){
  res.send('id: ' + req.query.id);
});

app.listen(3000);


답변

Express에서는 req.query .

req.params쿼리 문자열 매개 변수가 아닌 경로 매개 변수 만 가져옵니다. 특급 또는 항해 문서를 참조하십시오 .

(req.params) 경로 매개 변수를 확인합니다 (예 : / user / : id).

(req.query) 쿼리 문자열 매개 변수를 확인합니다. 예 😕 id = 12 urlencoded body params를 확인합니다.

(req.body), 예 : id = 12 urlencoded 요청 본문을 활용하려면 req.body가 객체 여야합니다. _express.bodyParser 미들웨어를 사용하여 수행 할 수 있습니다.

즉, 대부분의 경우 소스에 관계없이 매개 변수의 값을 얻으려고합니다. 이 경우을 사용하십시오 req.param('foo').

변수가 경로 매개 변수, 쿼리 문자열 또는 인코딩 된 요청 본문에 있는지 여부에 따라 매개 변수 값이 리턴됩니다.

참고 사항-세 가지 유형의 요청 매개 변수 (PHP와 유사)의 교차를 얻으려면 매개 변수 $_REQUEST를 병합하면됩니다. 여기 에서 Sails에서 설정 하는 방법이 있습니다. 경로 / 경로 매개 변수 객체 ( req.params)에는 배열 속성이 있으므로 순서가 중요합니다 ( Express 4에서는 변경 될 수 있음 )


답변

Express.js의 경우 다음을 수행하십시오 req.params.

app.get('/user/:id', function(req, res) {
  res.send('user' + req.params.id);
});


답변

다른 답변에서 배우고 내 사이트 전체 에서이 코드를 사용하기로 결정했습니다.

var query = require('url').parse(req.url,true).query;

그럼 당신은 전화 할 수 있습니다

var id = query.id;
var option = query.option;

get의 URL은

/path/filename?id=123&option=456


답변

//get query&params in express

//etc. example.com/user/000000?sex=female

app.get('/user/:id', function(req, res) {

  const query = req.query;// query = {sex:"female"}

  const params = req.params; //params = {id:"000000"}

})


답변

ES6Express를 사용하는 경우 다음 destructuring방법을 시도하십시오 .

const {id, since, fields, anotherField} = request.query;

문맥:

const express = require('express');
const app = express();

app.get('/', function(req, res){
   const {id, since, fields, anotherField} = req.query;
});

app.listen(3000);

다음과 함께 기본값을 사용할 수도 있습니다 destructuring.

// sample request for testing
const req = {
  query: {
    id: '123',
    fields: ['a', 'b', 'c']
  }
}

const {
  id,
  since = new Date().toString(),
  fields = ['x'],
  anotherField = 'default'
} = req.query;

console.log(id, since, fields, anotherField)