CodeBlanks Logo Icon CodeBlanks

Query string

URL query string ayrıştırmayı öğrenirsin.

Query string

Query string (sorgu dizesi), URL'de ? işaretinden sonra gelen anahtar=değer çiftleridir. Örnek: /selam?ad=Ayşe URL'sinde ad=Ayşe bir query string'dir.

Node.js'te query string'i ayrıştırmak için new URL(req.url, taban) kullanırsın. Bu, bir URL nesnesi verir; url.searchParams.get("ad") ile bir anahtarın değerini alırsın. Örnek: const url = new URL(req.url, "http://localhost"); const ad = url.searchParams.get("ad");. taban gereklidir çünkü req.url göreli bir yoldur; tam URL olmadan URL ayrıştırılamaz. Bu, arama, filtreleme ve form parametreleri için standart yoldur.

searchParams kullanımı

URL nesnesinin searchParams özelliği bir URLSearchParams nesnesidir. .get("anahtar") ile tek bir değer alırsın; .has("anahtar") ile anahtarın varlığını kontrol edersin.

Örnek: const url = new URL("/selam?ad=Ayşe&yas=30", "http://localhost"); url.searchParams.get("ad"); sonucu Ayşe; url.searchParams.get("yas") sonucu 30. Anahtar yoksa get null döndürür. Birden çok değeri olan anahtarlar için getAll kullanılır. Bu yapı, URL parametrelerini güvenle ayrıştırmanın yerleşik yoludur; elle split yapmaktan daha güvenlidir.

Uygulama Query string'den değer oku

http modülünü içe aktar. createServer ile bir server oluştur. Handler içinde new URL(req.url, "http://localhost") ile bir url oluştur, url.searchParams.get("ad") ile ad'ı al ve res.end("Merhaba " + ad) ile yanıt ver. Altındaki hazır kod /?ad=Ayşe yoluna istek atar.

Başlangıç kodu

index.js
// http modülünü içe aktar ve server oluştur
// buraya yaz

server.listen(3000, () => {
  http.get("http://localhost:3000/?ad=Ayşe", (res) => {
    let body = "";
    res.on("data", (c) => body += c);
    res.on("end", () => { console.log("Yanıt: " + body); server.close(); });
  });
});

Örnek çözüm

index.js
const http = require("http");
const server = http.createServer((req, res) => {
  const url = new URL(req.url, "http://localhost");
  const ad = url.searchParams.get("ad");
  res.end("Merhaba " + ad);
});

server.listen(3000, () => {
  http.get("http://localhost:3000/?ad=Ayşe", (res) => {
    let body = "";
    res.on("data", (c) => body += c);
    res.on("end", () => { console.log("Yanıt: " + body); server.close(); });
  });
});

Beklenen çıktı

Yanıt: Merhaba Ayşe

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 URL'de query string nerede bulunur?

index.js
/selam?ad=Ayşe
  • ? işaretinden sonra Doğru cevap
  • Kapı numarasından sonra
  • # işaretinden sonra
  • Başlıkta

Açıklama: Query string ? işaretinden sonra gelir.

2 searchParams.get çağrısını tamamla

Soru
const ad = url.searchParams.____("ad");
Cevap
const ad = url.searchParams.get("ad");

Açıklama: get bir anahtarın değerini verir.

3 Parçayı rolüne eşle

Kavram Anlamı
new URL URL nesnesi oluşturur
searchParams.get Anahtar değerini verir
"?" Query string başlangıcı
taban Göreli yol için temel

Orta seviye bölümündeki tüm dersler