[NODEJS] 어떻게 Node.js를에 Express.js에서 GET GET (쿼리 문자열) 변수?
NODEJS어떻게 Node.js를에 Express.js에서 GET GET (쿼리 문자열) 변수?
해결법
-
1.Express에서 이미 당신을 위해 이루어집니다 당신은 단순히위한 req.query을 사용할 수 있습니다 :
Express에서 이미 당신을 위해 이루어집니다 당신은 단순히위한 req.query을 사용할 수 있습니다 :
var id = req.query.id; // $_GET["id"]
그렇지 않으면, NodeJS, 당신은 req.url와 [url.parse]에 내장 된 URL 모듈에 액세스 할 수 있습니다 (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;
-
2.사용 req.query : 당신이 당신의 태그에 Express.js을 언급 한 이후, 여기에 익스프레스 고유의 대답이다. 예를 들면
사용 req.query : 당신이 당신의 태그에 Express.js을 언급 한 이후, 여기에 익스프레스 고유의 대답이다. 예를 들면
var express = require('express'); var app = express(); app.get('/', function(req, res){ res.send('id: ' + req.query.id); }); app.listen(3000);
-
3.Express에서 req.query를 사용합니다.
Express에서 req.query를 사용합니다.
단지 루트 매개 변수가 아닌 쿼리 문자열 매개 변수를 가져옵니다 req.params. 명시 적 또는 돛 설명서를 참조하십시오 :
즉, 대부분의 시간, 당신은 상관없이 소스의 매개 변수의 값을 싶어했다. 이 경우, 사용 req.param ( 'foo는').
파라미터의 값은 변수 경로 파라미터, 질의 스트링, 또는 인코딩 요청 본체 여부 리턴한다.
사이드는 (PHP의 $ _REQUEST 유사) 요청 매개 변수의 모든 세 가지 유형의 교회법을 얻는 것을 목표로하는 경우 참고 -, 당신은 단지 매개 변수가 여기 together-- 내가 항해에 그것을 설정하는 방법은 병합 할 필요가있다. (이 익스프레스 4에서 변경 될 수 있음) 순서 문제 때문에, 경로 / 경로 매개 변수 개체 (req.params)이 배열 속성을 가지고 있다는 사실을 양지해야합니다
-
4.Express.js 위해 당신은 req.params하고 싶지 :
Express.js 위해 당신은 req.params하고 싶지 :
app.get('/user/:id', function(req, res) { res.send('user' + req.params.id); });
-
5.나는 다른 답변에서 배운 내 사이트를 통해이 코드를 사용하기로 결정 :
나는 다른 답변에서 배운 내 사이트를 통해이 코드를 사용하기로 결정 :
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
-
6.
//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"} })
-
7.당신이 ES6 및 Express를 사용하는 경우,이 destructuring 접근 방식을 시도 :
당신이 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과 기본 값을 사용할 수 있습니다 :
테스트를 위해 // 샘플 요청 CONST REQ = { 질의 : { ID : '123' 필드 : 'A', 'B', 'C'] } } CONST { 신분증, 이후 = 새 Date (). toString (), 필드 = 'X', anotherField = '기본' } = req.query; CONSOLE.LOG (ID, 필드, 이후 anotherField)
-
8.GET 방식을 통해 매개 변수를 전달하는 2 가지 방법이 있습니다 방법 1 : paramName에 : 당신은 / routename / 같은 매개 변수를 전달하는 MVC 접근 방식 예 나는 PARAM로 아이디를 기대하고 코드 아래 참조를 들어이 경우 매개 변수 값을 얻을 수 req.params.paramname을 사용할 수 있습니다 http://myhost.com/items/23 : 링크는 같은 수
GET 방식을 통해 매개 변수를 전달하는 2 가지 방법이 있습니다 방법 1 : paramName에 : 당신은 / routename / 같은 매개 변수를 전달하는 MVC 접근 방식 예 나는 PARAM로 아이디를 기대하고 코드 아래 참조를 들어이 경우 매개 변수 값을 얻을 수 req.params.paramname을 사용할 수 있습니다 http://myhost.com/items/23 : 링크는 같은 수
var express = require('express'); var app = express(); app.get("items/:id", function(req, res) { var id = req.params.id; //further operations to perform }); app.listen(3000);
방법 2 : 일반적인 방법 : 쿼리 문자열로 전달 변수를 사용하여 '?' 운영자 예를 들어 내가 쿼리 매개 변수로 아이디를 기대하고 코드 아래 참조 http://myhost.com/items?id=23 : 링크는 같은 수
var express = require('express'); var app = express(); app.get("/items", function(req, res) { var id = req.query.id; //further operations to perform }); app.listen(3000);
-
9.당신이 뭔가를 할 수 있어야한다 :
당신이 뭔가를 할 수 있어야한다 :
var http = require('http'); var url = require('url'); http.createServer(function(req,res){ var url_parts = url.parse(req.url, true); var query = url_parts.query; console.log(query); //{Object} res.end("End") })
-
10.2014 UPDATE 5월 4일
2014 UPDATE 5월 4일
올드 대답은 여기에 보존 : https://gist.github.com/stefek99/b10ed037d2a4a323d638
1) 표현 설치 : Express를 설치 NPM
app.js
var express = require('express'); var app = express(); app.get('/endpoint', function(request, response) { var id = request.query.id; response.end("I have received the ID: " + id); }); app.listen(3000); console.log("node express app started at http://localhost:3000");
2) 응용 프로그램을 실행하여 노드 app.js를
HTTP : 브라우저에서 3) 방문 // localhost를 : 3000 / 엔드 포인트 ID = 뭔가
(많은 것들이 내 대답은 이후 변경된 그리고 그것이 최신 가치가 유지 것을 믿습니다)
-
11.포트 9080에 작은 Node.js를 HTTP 서버 듣기, 구문 분석 GET 또는 POST 데이터 및 응답의 일부로 다시 클라이언트로 전송은 다음과 같습니다
포트 9080에 작은 Node.js를 HTTP 서버 듣기, 구문 분석 GET 또는 POST 데이터 및 응답의 일부로 다시 클라이언트로 전송은 다음과 같습니다
var sys = require('sys'), url = require('url'), http = require('http'), qs = require('querystring'); var server = http.createServer( function (request, response) { if (request.method == 'POST') { var body = ''; request.on('data', function (data) { body += data; }); request.on('end',function() { var POST = qs.parse(body); //console.log(POST); response.writeHead( 200 ); response.write( JSON.stringify( POST ) ); response.end(); }); } else if(request.method == 'GET') { var url_parts = url.parse(request.url,true); //console.log(url_parts.query); response.writeHead( 200 ); response.write( JSON.stringify( url_parts.query ) ); response.end(); } } ); server.listen(9080);
그것을 저장 parse.js으로, "노드 parse.js"를 입력하여 콘솔에서 실행합니다.
-
12.Whitequark는 잘 반응했다. 그러나 Node.js를하고 Express.js의 현재 버전은 한 번 더 라인이 필요합니다. (가) 'HTTP 요구'(두 번째 줄)를 추가해야합니다. 나는 쇼가이 호출이 작동하는 방법을 것을 여기 풀러 예를 게시했습니다. 실행되면, HTTP를 입력 : // localhost를 : 8080 / 이름 = 아벨 & 과일 브라우저에서 = 사과하고 코드를 기반으로 시원한 응답을받을 수 있습니까?.
Whitequark는 잘 반응했다. 그러나 Node.js를하고 Express.js의 현재 버전은 한 번 더 라인이 필요합니다. (가) 'HTTP 요구'(두 번째 줄)를 추가해야합니다. 나는 쇼가이 호출이 작동하는 방법을 것을 여기 풀러 예를 게시했습니다. 실행되면, HTTP를 입력 : // localhost를 : 8080 / 이름 = 아벨 & 과일 브라우저에서 = 사과하고 코드를 기반으로 시원한 응답을받을 수 있습니까?.
var express = require('express'); var http = require('http'); var app = express(); app.configure(function(){ app.set('port', 8080); }); app.get('/', function(req, res){ res.writeHead(200, {'content-type': 'text/plain'}); res.write('name: ' + req.query.name + '\n'); res.write('fruit: ' + req.query.fruit + '\n'); res.write('query: ' + req.query + '\n'); queryStuff = JSON.stringify(req.query); res.end('That\'s all folks' + '\n' + queryStuff); }); http.createServer(app).listen(app.get('port'), function(){ console.log("Express server listening on port " + app.get('port')); })
-
13.너무 간단하다 :
너무 간단하다 :
예 URL :
http://stackoverflow.com:3000/activate_accountid=3&activatekey=$2a$08$jvGevXUOvYxKsiBt.PpMs.zgzD4C/wwTsvjzfUrqLrgS3zXJVfVRK
당신은 사용하여 쿼리 문자열의 모든 값을 인쇄 할 수 있습니다 :
console.log("All query strings: " + JSON.stringify(req.query));
산출
특정을 인쇄하려면 :
console.log("activatekey: " + req.query.activatekey);
산출
-
14.당신이 사용할 수있는
당신이 사용할 수있는
request.query.<varible-name>;
-
15.당신은 명시 ^ 4.15.4로 사용할 수 있습니다 :
당신은 명시 ^ 4.15.4로 사용할 수 있습니다 :
var express = require('express'), router = express.Router(); router.get('/', function (req, res, next) { console.log(req.query); });
도움이 되었기를 바랍니다.
-
16.express.js에서 당신은 아주 쉽게 그것을 얻을 수 있습니다, 당신은 당신의 컨트롤러 기능으로 할 필요가 있습니다 :
express.js에서 당신은 아주 쉽게 그것을 얻을 수 있습니다, 당신은 당신의 컨트롤러 기능으로 할 필요가 있습니다 :
app.get('/', (req, res, next) => { const {id} = req.query; // rest of your code here... })
그리고 당신이 ES6 구문을 사용하는 가정, 모든입니다.
PD. {ID}는 개체 destructuring, 새로운 ES6 기능을 의미합니다.
-
17.
app.get('/user/:id', function(req, res) { res.send('user' + req.params.id); });
이를 사용하거나 요청 매개 변수에서 특정 요소를 구문 분석 몸 파서를 시도 할 수 있습니다.
-
18.그것은 실제로 간단한 :
그것은 실제로 간단한 :
const express= require('express'); const app = express(); app.get('/post', (req, res, next) => { res.send('ID:' + req.query.id + ' Edit:'+ req.query.edit); }); app.listen(1000); // localhost:1000/post?id=123&edit=true // output: ID: 123 Edit: true
-
19.그래서,이 "ID가"수신 할 수있는 두 가지 방법이 있습니다 : 1) PARAMS를 사용 : 코드 PARAMS이 같이 보일 것입니다 : 우리는 배열을 말해봐
그래서,이 "ID가"수신 할 수있는 두 가지 방법이 있습니다 : 1) PARAMS를 사용 : 코드 PARAMS이 같이 보일 것입니다 : 우리는 배열을 말해봐
const courses = [{ id: 1, name: 'Mathematics' }, { id: 2, name: 'History' } ];
그런 다음 PARAMS 위해 우리는 뭔가를 같이 할 수 있습니다 :
app.get('/api/posts/:id',(req,res)=>{ const course = courses.find(o=>o.id == (req.params.id)) res.send(course); });
2) 또 다른 방법은 쿼리 매개 변수를 사용하는 것입니다. 그래서 URL이 "? ID = 1"쿼리 부분이다 "..... \ API \ XYZ? ID = 1"과 같을 것입니다. 이 경우 우리는 뭔가를 같이 할 수 있습니다 :
app.get('/api/posts',(req,res)=>{ const course = courses.find(o=>o.id == (req.query.id)) res.send(course); });
-
20.당신은 url.parse를 사용하여 수집 매개 변수를 URL 모듈을 사용할 수 있습니다
당신은 url.parse를 사용하여 수집 매개 변수를 URL 모듈을 사용할 수 있습니다
var url = require('url'); var url_data = url.parse(request.url, true); var query = url_data.query;
expressjs에서 그것은에 의해 이루어집니다,
var id = req.query.id;
예 :
var express = require('express'); var app = express(); app.get('/login', function (req, res, next) { console.log(req.query); console.log(req.query.id); //Give parameter id });
-
21.Express에서, 우리는 단순히 req.query를 사용할 수 있습니다. <이름>. 그것은 PHP에서 $ _GET [ '이름']의 경우와 동일하게 작동합니다.
Express에서, 우리는 단순히 req.query를 사용할 수 있습니다. <이름>. 그것은 PHP에서 $ _GET [ '이름']의 경우와 동일하게 작동합니다.
-
22.내 관점에서 나는 많은 사람들이 서로 다른 두 가지 개념을 혼합 생각합니다. 나머지 개발 동안 나는 두 가지 방법으로 "경로 변수"와 "요청 매개 변수"(쿼리 매개 변수)를 URL에 정보를 전달을 잘 알고 있었다. 은 RFC는 다음과 같이 URI 부분을 설명합니다 : 그 저자가 요청 매개 변수를 전달하는 방법을 알고 싶습니다 이해 그래서 여기에 링크의 설명을 입력합니다. 난 단지 쉽게 주제를 이해할 수 있도록 할 것입니다,하지만이 솔루션은 여기에 여러 번 언급했다.
내 관점에서 나는 많은 사람들이 서로 다른 두 가지 개념을 혼합 생각합니다. 나머지 개발 동안 나는 두 가지 방법으로 "경로 변수"와 "요청 매개 변수"(쿼리 매개 변수)를 URL에 정보를 전달을 잘 알고 있었다. 은 RFC는 다음과 같이 URI 부분을 설명합니다 : 그 저자가 요청 매개 변수를 전달하는 방법을 알고 싶습니다 이해 그래서 여기에 링크의 설명을 입력합니다. 난 단지 쉽게 주제를 이해할 수 있도록 할 것입니다,하지만이 솔루션은 여기에 여러 번 언급했다.
당신은 request.query로 URI에서 쿼리 매개 변수를 얻을 수 있습니다. <매개 변수의 이름>, 두 번째 언급 한 솔루션은 request.params. <매개 변수의 이름>이고이 당신은 경로 변수를 얻을 수 있습니다.
-
23.
var express = require('express'); var app = express(); app.get('/', function(req, res){ res.send('id: ' + req.query.id); }); app.listen(3000);
-
24.만약 당신이 (다른 답변 당신은 포트 변수를 지정할 수 있습니다 언급하지 않았다) 도메인뿐만 아니라 IP에 GET 요청을 전송해야하는 경우이 기능을 사용할 수있다 :
만약 당신이 (다른 답변 당신은 포트 변수를 지정할 수 있습니다 언급하지 않았다) 도메인뿐만 아니라 IP에 GET 요청을 전송해야하는 경우이 기능을 사용할 수있다 :
function getCode(host, port, path, queryString) { console.log("(" + host + ":" + port + path + ")" + "Running httpHelper.getCode()") // Construct url and query string const requestUrl = url.parse(url.format({ protocol: 'http', hostname: host, pathname: path, port: port, query: queryString })); console.log("(" + host + path + ")" + "Sending GET request") // Send request console.log(url.format(requestUrl)) http.get(url.format(requestUrl), (resp) => { let data = ''; // A chunk of data has been received. resp.on('data', (chunk) => { console.log("GET chunk: " + chunk); data += chunk; }); // The whole response has been received. Print out the result. resp.on('end', () => { console.log("GET end of response: " + data); }); }).on("error", (err) => { console.log("GET Error: " + err); }); }
파일의 상단에 모듈을 필요로 놓치지 마세요 :
http = require("http"); url = require('url')
또한 당신이 이상의 보안 도메인 및 SSL 통신을 위해 HTTPS 모듈을 사용할 수 있음을 염두에 베어. 그래서이 두 줄을 변경합니다 :
https = require("https"); ... https.get(url.format(requestUrl), (resp) => { ......
-
25.왜 서버 코드와 혼합하지
왜 서버 코드와 혼합하지
예컨대. PHP
<script> var ip=<?php echo($_SERVER['REMOTE_ADDR']);?> </script>
-
26.내가 express@4.16와 MEANJS 0.6.0을 사용하고, 그것의 좋은
내가 express@4.16와 MEANJS 0.6.0을 사용하고, 그것의 좋은
고객:
제어 장치:
var input = { keyword: vm.keyword }; ProductAPi.getOrder(input)
서비스:
this.getOrder = function (input) {return $http.get('/api/order', { params: input });};
섬기는 사람
루트
app.route('/api/order').get(products.order);
제어 장치
exports.order = function (req, res) { var keyword = req.query.keyword ...
from https://stackoverflow.com/questions/6912584/how-to-get-get-query-string-variables-in-express-js-on-node-js by cc-by-sa and MIT license
'NODEJS' 카테고리의 다른 글
[NODEJS] 중첩 된 약속을 제거 (0) | 2020.09.16 |
---|---|
[NODEJS] 어떻게 HTTP POST 요청은 Node.js를 이루어집니다? (0) | 2020.09.16 |
[NODEJS] 어떻게 POST 쿼리 매개 변수를 검색? (0) | 2020.09.16 |
[NODEJS] 어떻게 노드에 ES6 가져 오기를 사용할 수 있습니까? [복제] (0) | 2020.09.16 |
[NODEJS] 어떻게 Node.js를 시작합니까 [마감] (0) | 2020.09.16 |