CyrefJS
CCyrefJS
EN
بازگشت به مستندات
URL/از نسخه 1.38.0

setQueryParam

یک پارامتر query را در URL یا query string تنظیم یا جایگزین می‌کند و بخش hash را حفظ می‌کند.

setQueryParam(url, key, value):string

نحوه عملکرد

تابع ابتدا بخش hash را جدا می‌کند، query را با URLSearchParams پردازش می‌کند، کلید مشخص‌شده را با مقدار ارائه‌شده تنظیم می‌کند و سپس نتیجه را دوباره می‌سازد.

تنظیم یا جایگزینی

اگر کلید مشخص‌شده از قبل وجود داشته باشد، URLSearchParams.set() مقدار آن را جایگزین می‌کند. اگر وجود نداشته باشد، یک پارامتر جدید اضافه می‌شود.

حفظ Hash

بخش hash قبل از پردازش query جدا می‌شود و بدون تغییر به نتیجه نهایی اضافه می‌شود.

پشتیبانی از URL و Query String

تابع هم رشته‌های شبیه URL و هم query stringها را پشتیبانی می‌کند. اگر علامت سؤال وجود نداشته باشد و ورودی شامل slash نباشد، ورودی مستقیماً به‌عنوان query در نظر گرفته می‌شود.

کدگذاری URL

serialize کردن query مطابق رفتار native URLSearchParams انجام می‌شود و شامل encode کردن کاراکترهای خاص در کلیدها و مقادیر است.

پارامترها

urlstringالزامی

URL، query string یا رشته‌ای شبیه URL که باید تغییر کند.

keystringالزامی

نام پارامتر query که باید تنظیم شود.

valuestringالزامی

مقدار رشته‌ای که باید به پارامتر query اختصاص داده شود.

مقدار بازگشتی

string

URL یا query string تغییر‌یافته را با تنظیم پارامتر مشخص‌شده و حفظ بخش hash برمی‌گرداند.

مثال‌ها

01

اضافه کردن پارامتر

اضافه کردن یک پارامتر query جدید به URL.

TypeScript
import { setQueryParam } from "@cyref/js";

setQueryParam(
  "https://example.com/products",
  "page",
  "2",
);
// "https://example.com/products?page=2"
02

جایگزین کردن پارامتر

جایگزین کردن مقدار یک پارامتر query موجود.

TypeScript
setQueryParam(
  "https://example.com/products?page=1&sort=latest",
  "page",
  "2",
);
// "https://example.com/products?page=2&sort=latest"
03

حفظ Hash

هنگام تنظیم پارامتر query، بخش hash بدون تغییر باقی می‌ماند.

TypeScript
setQueryParam(
  "https://example.com/products?page=1#details",
  "page",
  "2",
);
// "https://example.com/products?page=2#details"
04

ورودی Query String

می‌توان query string را مستقیماً و بدون مسیر URL ارسال کرد.

TypeScript
setQueryParam(
  "?page=1&sort=latest",
  "page",
  "2",
);
// "?page=2&sort=latest"
05

کدگذاری URL

مقدار پارامتر مطابق رفتار URLSearchParams serialize می‌شود.

TypeScript
setQueryParam(
  "https://example.com/search",
  "q",
  "hello world",
);
// "https://example.com/search?q=hello+world"
ساخته شده با@cyref/js·مستندات رسمی