هذا الجزء من سلسلة عناوين URL كاملة من "؟" (باستثناء؟) إلى " #" (إذا كان # موجود) أو حتى نهاية سلسلة عنوان URL (إذا كان # غير موجود) تسمى سلسلة الاستعلام.
يمكنك استخدام طريقة Parse في وحدة سلسلة الاستعلام لتحويل السلسلة إلى كائن. استخدام طريقة التحليل كما يلي:
querystring.parse (str ، [sep] ، [Eq] ، [Options]) ؛
تمثل Str سلسلة الاستعلام المحولة ،
الفاصل في سبتمبر. سلسلة ، الافتراضي هو &
مكافئ. حرف التخصيص في هذه السلسلة الافتراضية إلى =. "=" اليسار هو المفتاح ، واليمين هو القيمة.
الخيارات: هو كائن ، حيث يمكن استخدام سمة 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" ، الدقة) ؛ // 1: {"اسم المستخدم": "Guoyansi" ، "Age": "40" ، "Sex": "Male"}
res = querystring.parse (str ، "!") ؛
console.log ("2: ٪ J" ، الدقة) ؛ // 2: {"اسم المستخدم": "Guoyansi & Age = 40 & sex = male"}
res = querystring.parse (str ، "&") ؛
console.log ("3: ٪ j" ، الدقة) ؛ // 3: {"اسم المستخدم": "Guoyansi" ، "Age": "40" ، "Sex": "Male"}
str = "اسم المستخدم = guoyansi! العمر = 40! الجنس = ذكر" ؛
res = querystring.parse (str ، "!") ؛
console.log ("4: ٪ j" ، الدقة) ؛ // 4: {"اسم المستخدم": "Guoyansi" ، "Age": "40" ، "Sex": "Male"}
res = querystring.parse (str ، "!" ، "=") ؛
console.log ("5: ٪ j" ، الدقة) ؛ // 5: {"اسم المستخدم": "Guoyansi" ، "Age": "40" ، "Sex": "Male"}
res = querystring.parse (str ، "!" ، ":") ؛
console.log ("6: ٪ j" ، الدقة) ؛ // 6: {"username = guoyansi": "" ، "Age = 40": "" ، "sex = male": ""}
res = querystring.parse (str ، "!" ، "=" ، {maxkeys: 2}) ؛
console.log ("7: ٪ j" ، الدقة) ؛ // 7: {"اسم المستخدم": "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! العمر = 40! الجنس = ذكر
res = QueryString.Stringify ({"اسم المستخدم": "Guoyansi" ، "Age": "40" ، "Sex": "Male" ، "&" ، ":") ؛
console.log (res) ؛ // اسم المستخدم: Guoyansi & Age: 40 & Sex: Male
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 أو اسم المضيف.
المصادقة: جزء معلومات المصادقة في سلسلة عنوان URL.
اسم المضيف: العنوان الكامل في سلسلة عنوان URL ، والذي قد يكون عنوان IP أو اسم المضيف.
البحث: سلسلة الاستعلام في سلسلة عنوان URL ، تحتوي على حرف البداية "؟"؟
المسار: المسار في سلسلة عنوان URL ، يحتوي على سلسلة الاستعلام.
الاستعلام: لا تحتوي سلسلة الاستعلام في سلسلة عنوان URL على حرف البداية "؟" ، أو تم تحويل كائن استنادًا إلى سلسلة الاستعلام (يتم تحديد قيمة سمة الاستعلام بناءً على المعلمات المستخدمة بواسطة طريقة Parse ()) ؛
التجزئة: سلسلة التجزئة في سلسلة عنوان URL ، تحتوي على حرف البداية "#".
url.parse (urlstr ، [parsequerystring]) ؛
urlstr: هي سلسلة عناوين URL التي يجب تحويلها.
parequerystring: هي قيمة منطقية. عندما تكون المعلمة صحيحة ، يتم استخدام وحدة QueryString داخليًا لتحويل سلسلة الاستعلام إلى كائن. عندما تكون قيمة المعلمة خاطئة ، لا يتم تنفيذ عملية التحويل. الافتراضي خاطئ.
نسخة الكود كما يلي:
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:' ،
المائل: صحيح ،
المصادقة: "المستخدم: تمرير" ،
المضيف: "المضيف: 8080" ،
الميناء: '8080' ،
اسم المضيف: "مضيف" ،
التجزئة: '#name1' ،
البحث: '؟ اسم المستخدم = sisi & age = 24 & sex = male' ،
الاستعلام: 'اسم المستخدم = sisi & age = 24 & sex = male' ،
PathName: '/I.com/users/user.php' ،
Path: '/،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:' ،
المائل: صحيح ،
المصادقة: "المستخدم: تمرير" ،
المضيف: "المضيف: 8080" ،
الميناء: '8080' ،
اسم المضيف: "مضيف" ،
التجزئة: '#name1' ،
البحث: '؟ اسم المستخدم = sisi & age = 24 & sex = male' ،
الاستعلام: {اسم المستخدم: 'sisi' ، العمر: '24' ، الجنس: 'ذكر'} ،
PathName: '/I.com/users/user.php' ،
Path: '/،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.php؟ username = sisi & age = 24 & sex = male#name1
ما سبق هو كل محتويات تحويل سلاسل URL وسلاسل الاستعلام في العقدة. بعد دراسة متأنية ، يكون الأمر بسيطًا جدًا.