ส่วนนี้ของสตริง URL ที่สมบูรณ์จาก "?" (ไม่รวม?) ถึง " #" (ถ้า # มีอยู่) หรือถึงจุดสิ้นสุดของสตริง URL (ถ้าไม่มี #) เรียกว่าสตริงแบบสอบถาม
คุณสามารถใช้วิธีการแยกวิเคราะห์ในโมดูลสตริงแบบสอบถามเพื่อแปลงสตริงเป็นวัตถุ การใช้วิธีการแยกวิเคราะห์มีดังนี้:
querystring.parse (str, [ก.ย. ], [eq], [ตัวเลือก]);
STR แสดงถึงสตริงการสืบค้นที่แปลงแล้ว
ตัวคั่นใน ก.ย. สตริงค่าเริ่มต้นคือ &
Eq. อักขระการจัดสรรในสตริงนี้เป็นค่าเริ่มต้นที่ =. "=" ด้านซ้ายคือคีย์และด้านขวาคือค่า
ตัวเลือก: เป็นวัตถุซึ่งแอตทริบิวต์ MaxKeys ของประเภทค่าจำนวนเต็มสามารถใช้เพื่อระบุจำนวนแอตทริบิวต์ในวัตถุที่ถูกแปลง หากค่าแอตทริบิวต์ MaxKeys ถูกตั้งค่าเป็น 0 เอฟเฟกต์จะเท่ากับไม่ใช้ค่าแอตทริบิวต์ MaxKeys
การคัดลอกรหัสมีดังนี้:
var queryString = ต้องการ ("querystring");
var str = "ชื่อผู้ใช้ = guoyansi & age = 40 & sex = male";
var res = querystring.parse (str);
console.log ("1:%j", res); // 1: {"ชื่อผู้ใช้": "guoyansi", "อายุ": "40", "เพศ": "ชาย"}
res = querystring.parse (str, "!");
console.log ("2:%j", res); // 2: {"ชื่อผู้ใช้": "guoyansi & age = 40 & sex = male"}
res = querystring.parse (str, "&");
console.log ("3:%j", res); // 3: {"ชื่อผู้ใช้": "guoyansi", "อายุ": "40", "เพศ": "ชาย"}
str = "ชื่อผู้ใช้ = guoyansi! age = 40! sex = male";
res = querystring.parse (str, "!");
console.log ("4:%j", res); // 4: {"ชื่อผู้ใช้": "guoyansi", "อายุ": "40", "เพศ": "ชาย"}
res = querystring.parse (str, "!", "=");
console.log ("5:%j", res); // 5: {"ชื่อผู้ใช้": "guoyansi", "อายุ": "40", "เพศ": "ชาย"}
res = querystring.parse (str, "!", ",": ");
console.log ("6:%j", res); // 6: {"ชื่อผู้ใช้ = guoyansi": "", "อายุ = 40": "", "sex = male": ""}
res = querystring.parse (str, "!", "=", {maxkeys: 2});
console.log ("7:%j", res); // 7: {"ชื่อผู้ใช้": "guoyansi", "อายุ": "40"}
Stringify เป็นรูปแบบสำหรับการแปลงสตริงเป็นสตริงแบบสอบถาม
querystring.stringify (obj, [ก.ย. ], [eq])
การคัดลอกรหัสมีดังนี้:
var queryString = ต้องการ ("querystring");
var res = querystring.stringify ({"ชื่อผู้ใช้": "guoyansi", "อายุ": "40", "เพศ": "ชาย"});
console.log (res); // username = guoyansi & age = 40 & sex = male
res = querystring.stringify ({"ชื่อผู้ใช้": "guoyansi", "อายุ": "40", "เพศ": "ชาย"}, "!");
console.log (res); // username = guoyansi! age = 40! sex = male
res = querystring.stringify ({"ชื่อผู้ใช้": "guoyansi", "อายุ": "40", "เพศ": "ชาย"}, "&", ":");
console.log (res); // ชื่อผู้ใช้: Guoyansi & Age: 40 & Sex: Male
res = querystring.stringify ({"ชื่อผู้ใช้": "guoyansi", "อายุ": ["40", "24"]}, "&", "=");
console.log (res); // username = guoyansi & age = 40 & อายุ = 24
ในโมดูล URL คุณสามารถใช้วิธีการแยกวิเคราะห์ () เพื่อแปลงสตริง URL เป็นวัตถุ ทั้งนี้ขึ้นอยู่กับเนื้อหาที่แตกต่างกันในสตริง URL คุณสมบัติที่เป็นไปได้และความหมายของวัตถุมีดังนี้
HREF: สตริง URL ดั้งเดิมที่แปลงแล้ว
โปรโตคอล: โปรโตคอลที่ลูกค้าใช้เมื่อทำการร้องขอ
Slashes: ใช้ตัวคั่น "//" ระหว่างโปรโตคอลและเส้นทาง
โฮสต์: ที่อยู่ที่สมบูรณ์และหมายเลขพอร์ตในสตริง URL ที่อยู่นี้อาจเป็นที่อยู่ IP หรือชื่อโฮสต์
รับรองความถูกต้อง: ส่วนข้อมูลการรับรองความถูกต้องในสตริง URL
ชื่อโฮสต์: ที่อยู่ที่สมบูรณ์ในสตริง URL ซึ่งอาจเป็นที่อยู่ IP หรือชื่อโฮสต์
ค้นหา: สตริงการสืบค้นในสตริง URL ที่มีอักขระเริ่มต้น "?"
เส้นทาง: เส้นทางในสตริง URL ที่มีสตริงแบบสอบถาม
แบบสอบถาม: สตริงการสืบค้นในสตริง URL ไม่มีอักขระเริ่มต้น "?" หรือวัตถุที่แปลงตามสตริงคิวรี (ค่าแอตทริบิวต์การสืบค้นจะถูกกำหนดตามพารามิเตอร์ที่ใช้โดยเมธอด parse ());
แฮช: สตริงแฮชในสตริง URL ที่มีอักขระเริ่มต้น "#"
url.parse (urlstr, [perlemingsemerystring]);
URLSTR: เป็นสตริง URL ที่ต้องแปลง
Squissionerystring: เป็นค่าบูลีน เมื่อพารามิเตอร์เป็นจริงโมดูล QueryString จะถูกใช้ภายในเพื่อแปลงสตริงการสืบค้นเป็นวัตถุ เมื่อค่าพารามิเตอร์เป็นเท็จการดำเนินการแปลงจะไม่ดำเนินการ ค่าเริ่มต้นเป็นเท็จ
การคัดลอกรหัสมีดังนี้:
var url = ต้องการ ("url");
var str = "http: // user: pass@host, com: 8080/users/user.php? ชื่อผู้ใช้ = sisi & age = 24 & sex = male#name1";
var res = url.parse (str);
console.log (res);
การคัดลอกรหัสมีดังนี้:
{โปรโตคอล: 'http:',
Slashes: จริง
รับรองความถูกต้อง: 'ผู้ใช้: ผ่าน',
โฮสต์: 'โฮสต์: 8080'
พอร์ต: '8080',
ชื่อโฮสต์: 'โฮสต์',
แฮช: '#name1',
ค้นหา: '? ชื่อผู้ใช้ = sisi & age = 24 & sex = male',
แบบสอบถาม: 'ชื่อผู้ใช้ = Sisi & Age = 24 & sex = male'
PathName: '/,com/users/User.php'
เส้นทาง: '/,com/users/user.php?username=sisi&age=24&sex=male'
href: 'http: // ผู้ใช้: ผ่าน@โฮสต์: 8080/, com/users/user.php? ชื่อผู้ใช้ = sisi & age = 24 & sex = male#name1'}
การคัดลอกรหัสมีดังนี้:
var url = ต้องการ ("url");
var str = "http: // user: pass@host, com: 8080/users/user.php? ชื่อผู้ใช้ = sisi & age = 24 & sex = male#name1";
var res = url.parse (str, true);
console.log (res);
การคัดลอกรหัสมีดังนี้:
{โปรโตคอล: 'http:',
Slashes: จริง
รับรองความถูกต้อง: 'ผู้ใช้: ผ่าน',
โฮสต์: 'โฮสต์: 8080'
พอร์ต: '8080',
ชื่อโฮสต์: 'โฮสต์',
แฮช: '#name1',
ค้นหา: '? ชื่อผู้ใช้ = sisi & age = 24 & sex = male',
คำถาม: {ชื่อผู้ใช้: 'Sisi', อายุ: '24', เพศ: 'ชาย'},
PathName: '/,com/users/User.php'
เส้นทาง: '/,com/users/user.php?username=sisi&age=24&sex=male'
href: 'http: // ผู้ใช้: ผ่าน@โฮสต์: 8080/, com/users/user.php? ชื่อผู้ใช้ = sisi & age = 24 & sex = male#name1'}
ความแตกต่างระหว่างตัวอย่างแรกและตัวอย่างที่สองคือพารามิเตอร์ที่สองของการแยกวิเคราะห์นำไปสู่ความแตกต่างในการสืบค้นในผลลัพธ์
คุณสามารถแปลงวัตถุ URL ที่แปลงเป็นสตริง URL
การคัดลอกรหัสมีดังนี้:
var url = ต้องการ ("url");
var str = "http: // user: pass@host, com: 8080/users/user.php? ชื่อผู้ใช้ = sisi & age = 24 & sex = male#name1";
var res = url.parse (str, true);
console.log (url.format (res));
กลับกลายเป็นว่า:
http: // user: pass@host: 8080/, com/users/user.php? ชื่อผู้ใช้ = sisi & age = 24 & sex = male#name1
ข้างต้นคือเนื้อหาทั้งหมดของการแปลงสตริง URL และสตริงแบบสอบถามในโหนด หลังจากการศึกษาอย่างระมัดระวังมันค่อนข้างง่าย