$_GET
PHP 에서와 마찬가지로 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¶ms 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"}
})
답변
ES6 및 Express를 사용하는 경우 다음 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)