"?"의 완전한 URL 문자열 의이 부분. (제외?) " #"( #이 존재하는 경우) 또는 URL 문자열의 끝까지 ( # 존재하지 않는 경우)를 쿼리 문자열이라고합니다.
쿼리 문자열 모듈의 구문 분석 메소드를 사용하여 문자열을 객체로 변환 할 수 있습니다. 구문 분석 방법의 사용은 다음과 같습니다.
querystring.parse (str, [sep], [eq], [옵션]);
STR은 변환 된 쿼리 문자열을 나타내고
9 월의 분리기. 문자열, 기본값은 &
식 이 문자열의 할당 문자는 기본값이 =입니다. "="왼쪽은 핵심이며 오른쪽은 값입니다.
옵션 : 정수 값 유형의 maxkeys 속성을 사용하여 변환 된 객체의 속성 수를 지정하는 객체입니다. maxkeys 속성 값이 0으로 설정되면 그 효과는 maxkeys 속성 값을 사용하지 않는 것과 같습니다.
코드 사본은 다음과 같습니다.
var querystring = require ( "QueryString");
var str = "username = guoyansi & age = 40 & sex = male";
var res = querystring.parse (str);
console.log ( "1 :%j", res); // 1 : { "username": "guoyansi", "age": "40", "sex": "male"}
res = querystring.parse (str, "!");
console.log ( "2 :%j", res); // 2 : { "username": "guoyansi & age = 40 & sex = male"}
res = querystring.parse (str, "&");
console.log ( "3 :%j", res); // 3 : { "username": "guoyansi", "age": "40", "sex": "male"}
str = "username = guoyansi! age = 40! sex = male";
res = querystring.parse (str, "!");
console.log ( "4 :%j", res); // 4 : { "username": "guoyansi", "age": "40", "sex": "male"}
res = querystring.parse (str, "!", "=");
console.log ( "5 :%j", res); // 5 : { "username": "guoyansi", "age": "40", "sex": "male"}
res = querystring.parse (str, "!", ":");
console.log ( "6 :%j", res); // 6 : { "username = guoyansi": "", "age = 40": "", "sex = male": ""}
res = querystring.parse (str, "!", "=", {maxkeys : 2});
console.log ( "7 :%j", res); // 7 : { "username": "guoyansi", "age": "40"}
Stringify는 문자열을 쿼리 문자열로 변환하는 형식입니다.
querystring.stringify (obj, [sep], [eq])
코드 사본은 다음과 같습니다.
var querystring = require ( "QueryString");
var res = querystring.stringify ({ "username": "guoyansi", "age": "40", "sex": "male"});
console.log (res); // username = guoyansi & age = 40 & sex = male
res = querystring.stringify ({ "username": "guoyansi", "age": "40", "sex": "male"}, "!");
console.log (res); // username = guoyansi! age = 40! sex = male
res = querystring.stringify ({ "username": "guoyansi", "age": "40", "sex": "male"}, "&", ":");
Console.log (Res); // 사용자 이름 : Guoyansi & Age : 40 & 섹스 : 남성
res = querystring.stringify ({ "username": "guoyansi", "age": [ "40", "24"]}, "&", "=");
console.log (res); // username = guoyansi & age = 40 & age = 24
URL 모듈에서 Parse () 메소드를 사용하여 URL 문자열을 객체로 변환 할 수 있습니다. URL 문자열의 다른 내용에 따라 가능한 속성과 객체의 의미는 다음과 같습니다.
HREF : 변환 된 원본 URL 문자열.
프로토콜 : 요청을 할 때 클라이언트가 사용하는 프로토콜.
슬래시 : 프로토콜과 경로 사이의 "//"분리기를 사용하십시오.
호스트 : URL 문자열의 전체 주소 및 포트 번호. 이 주소는 IP 주소 또는 호스트 이름 일 수 있습니다.
Auth : URL 문자열의 인증 정보 부분.
호스트 이름 : IP 주소 또는 호스트 이름 일 수있는 URL 문자열의 전체 주소.
검색 : 시작 문자가 포함 된 URL 문자열의 쿼리 문자열은 "?"
경로 : 쿼리 문자열이 포함 된 URL 문자열의 경로.
쿼리 : URL 문자열의 쿼리 문자열에는 시작 문자 "?"또는 쿼리 문자열을 기반으로 변환 된 객체가 포함되어 있지 않습니다 (쿼리 속성 값은 Parse () 메소드에서 사용하는 매개 변수에 따라 결정됩니다);
해시 : 시작 문자 "#"을 포함하는 URL 문자열의 해시 문자열.
url.parse (urlstr, [parecteryString]);
URLSTR : 변환 해야하는 URL 문자열입니다.
ParecteryString : 부울 가치입니다. 매개 변수가 참이면 쿼리 스트링 모듈은 내부적으로 쿼리 문자열을 객체로 변환하는 데 사용됩니다. 매개 변수 값이 False 인 경우 변환 작업이 수행되지 않습니다. 기본값은 False입니다.
코드 사본은 다음과 같습니다.
var url = require ( "url");
var str = "http : // user : pass@host, com : 8080/user/user.php? username = sisi & age = 24 & sex = male#name1";
var res = url.parse (str);
Console.log (Res);
코드 사본은 다음과 같습니다.
{프로토콜 : 'http :',
슬래시 : 사실,
Auth : '사용자 : Pass',
호스트 : '호스트 : 8080',
포트 : '8080',
호스트 이름 : '호스트',
해시 : '#name1',
검색 : '? username = sisi & age = 24 & sex = male',
쿼리 : 'username = sisi & age = 24 & sex = male',
PathName : '/,com/users/user.php',
경로 : '/,com/users/user.php?username=sisi&age=24&sex=male',
href : 'http : // user : pass@host : 8080/, com/user/user.php? username = sisi & age = 24 & sex = male#name1'}
코드 사본은 다음과 같습니다.
var url = require ( "url");
var str = "http : // user : pass@host, com : 8080/user/user.php? username = sisi & age = 24 & sex = male#name1";
var res = url.parse (str, true);
Console.log (Res);
코드 사본은 다음과 같습니다.
{프로토콜 : 'http :',
슬래시 : 사실,
Auth : '사용자 : Pass',
호스트 : '호스트 : 8080',
포트 : '8080',
호스트 이름 : '호스트',
해시 : '#name1',
검색 : '? username = sisi & age = 24 & sex = male',
쿼리 : {username : 'sisi', age : '24', sex : 'male'},
PathName : '/,com/users/user.php',
경로 : '/,com/users/user.php?username=sisi&age=24&sex=male',
href : 'http : // user : pass@host : 8080/, com/user/user.php? username = sisi & age = 24 & sex = male#name1'}
첫 번째 예제와 두 번째 예의 차이점은 구문 분석의 두 번째 매개 변수가 결과의 쿼리 차이로 이어진다는 것입니다.
URL 변환 된 개체를 URL 문자열로 변환 할 수 있습니다.
코드 사본은 다음과 같습니다.
var url = require ( "url");
var str = "http : // user : pass@host, com : 8080/user/user.php? username = sisi & age = 24 & sex = male#name1";
var res = url.parse (str, true);
console.log (url.format (res));
나가기 :
http : // user : pass@host : 8080/, com/user/user.php? username = sisi & age = 24 & sex = male#name1
위는 노드에서 URL 문자열과 쿼리 문자열을 변환하는 모든 내용입니다. 주의 깊은 연구 후에는 실제로 매우 간단합니다.