نحوه گرفتن مقادیر از پارامترهای GET در جاوااسکریپت

mohsen2 هفته قبل
ارسال شده در
javascript

در زمان کار با URL ها که شامل پارامترهای GET هستند، ممکن است نیاز داشته باشید تا مقادیر آن‌ها را استخراج کنید. به عنوان مثال، در URL زیر:

      www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5 

    

شما باید مقدار کامل c را به دست آورید، اما ممکن است با چالش‌هایی مواجه شوید.

برای دستیابی به پارامترها در جاوااسکریپت، می‌توانید از شی URL و متد URLSearchParams استفاده کنید. این امکان به شما این اجازه را می‌دهد که به راحتی مقادیر را استخراج کنید. در اینجا یک نمونه کد برای دستیابی به مقدار c آورده شده است:

      var url_string = "http://www.example.com/t.html?a=1&b=3&c=m2-m3-m4-m5"; 
var url = new URL(url_string);
var c = url.searchParams.get("c");
console.log(c); // خروجی: m2-m3-m4-m5

    

اگر نیاز به کدی دارید که حتی بر روی مرورگرهای قدیمی‌ (مانند Internet Explorer) کار کند، می توانید از یک polyfill استفاده کنید که قابلیت‌های URL و URLSearchParams را تأمین کند.

در صورتی که به کدهای ساده‌تری نیاز دارید، می‌توانید پارامترهای GET را از پراپتری search آدرس به‌دست آورده و آن‌ها را تجزیه کنید. در کدی زیر، عملکرد جداسازی و بازگردانی مقادیر پارامترهای GET فراهم شده است:

      function parse_query_string(query) {
  var vars = query.split("&");
  var query_string = {};
  for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split("=");
    var key = decodeURIComponent(pair.shift());
    var value = decodeURIComponent(pair.join("="));
    query_string[key] = value;
  }
  return query_string;
}

var query_string = "a=1&b=3&c=m2-m3-m4-m5";
var parsed_qs = parse_query_string(query_string);
console.log(parsed_qs.c); // خروجی: m2-m3-m4-m5

    

حتما به این نکته توجه داشته باشید که گاهی اوقات مقادیر پارامترها انکد شده اند. به همین دلیل، برای جلوگیری از خطاهای احتمالی، از متد decodeURIComponent استفاده کنید.

رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!