express 4.0에서 'extended'는 무엇을 의미합니까?
저는 앱에서 익스프레스와 바디 파서를 사용하고 있습니다.
app.use(bodyParser.urlencoded({ extended: false }));
하지만 express 4.0에서 'extended'는 무엇을 의미합니까?
나는 이걸 발견했어.
extended - parse extended syntax with the qs module.
하지만, 저는 여전히 그것이 무엇을 의미하는지 이해할 수 없습니다.
한다면extended
이라false
"임의 객체"를 게시할 수 없습니다.
person[name] = 'cw'
// Nested Object = { person: { name: cw } }
한다면extended
이라true
당신은 당신이 원하는 어떤 방법이든 할 수 있습니다.
언제
extended
속성을 로 설정하면 URL 인코딩 데이터가 qs 라이브러리로 구문 분석됩니다.
반대로,
언제
extended
속성을 로 설정하면 URL 인코딩 데이터가 쿼리 문자열 라이브러리로 구문 분석됩니다.
Qs 라이브러리를 사용한 구문 분석과 쿼리 문자열 라이브러리를 사용한 구문 분석의 차이점
qs 라이브러리를 사용하면 쿼리 문자열에서 중첩된 개체를 만들 수 있습니다.
var qs = require("qs") var result = qs.parse("person[name]=bobby&person[age]=3") console.log(result) // { person: { name: 'bobby', age: '3' } }
쿼리 문자열 라이브러리는 쿼리 문자열에서 중첩된 개체를 만드는 것을 지원하지 않습니다.
var queryString = require("query-string") var result = queryString.parse("person[name]=bobby&person[age]=3") console.log(result) // { 'person[age]': '3', 'person[name]': 'bobby' }
qs 라이브러리가 쿼리 문자열에서 '?'를 필터링하지 않습니다.
var qs = require("qs") var result = qs.parse("?a=b") console.log(result) // { '?a': 'b' }
쿼리 문자열 라이브러리가 쿼리 문자열에서 '?'를 필터링합니다.
var queryString = require("query-string") var result = queryString.parse("?a=b") console.log(result) // { a: 'b' }
app.use(bodyParser.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded
자세한 내용은 Leonid Beschastny의 답변을 참조하여 npm이 qs와 query-string을 비교할 수 있습니다.
본문-파서 문서:
구문 분석된 데이터를 포함하는 새 본문 개체는 미들웨어 다음에 요청 개체(예: requ.body)에 채워집니다.이 개체에는 키-값 쌍이 포함됩니다. 여기서 값은 문자열이나 배열(확장이 거짓인 경우) 또는 모든 유형(확장이 참인 경우)일 수 있습니다.
그리고.
확장 옵션을 사용하면 쿼리 문자열 라이브러리(false인 경우)를 사용하여 URL 인코딩 데이터를 구문 분석하거나 Qs 라이브러리(true인 경우)를 선택할 수 있습니다.확장된 구문을 사용하면 풍부한 개체와 배열을 URL 인코딩 형식으로 인코딩할 수 있으므로 URL 인코딩을 통해 JSON과 같은 환경을 경험할 수 있습니다.자세한 내용은 qs 라이브러리를 참조하십시오.
기본적으로 확장을 사용하면 전체 개체를 구문 분석할 수 있습니다.
언급URL : https://stackoverflow.com/questions/29960764/what-does-extended-mean-in-express-4-0
'programing' 카테고리의 다른 글
Ubuntu 20.04에서 MariaDB 프로비저닝 (0) | 2023.08.29 |
---|---|
requests.get()이 반환되지 않는 이유는 무엇입니까?requests.get()에서 사용하는 기본 시간 제한은 무엇입니까? (0) | 2023.08.29 |
컨테이너가 실행되고 있지 않습니다. (0) | 2023.08.09 |
마리아DB.15일보다 오래된 테이블에서 행을 삭제하는 트리거 만들기 (0) | 2023.08.09 |
현재 페이지를 Ajax 콘텐츠로 바꾸기 (0) | 2023.08.09 |