เพื่อส่งตัวแปร JavaScript พร้อม AJAX calls ให้แทนที่โค้ดดังนี้:
var page = parseInt(getUrlParameter('page'));
ด้วย:
var page = +getUrlParameter("page") || 100;
ตัวอย่าง
<html>
<script>
function getUrlParameter(param) {
return param === "page" ? 500 : false;
}
var page = +getUrlParameter("Demo") || 100;
alert(page);
page = +getUrlParameter("page") || 100;
alert(page);
</script>
<body>
</body>
</html>
คำอธิบายเทคนิค
+getUrlParameter("page")— unary plus (+) แปลงค่าเป็น number (เหมือนNumber()หรือparseFloat())|| 100— logical OR ให้ค่า default 100 ถ้าซ้ายเป็น falsy (0, null, undefined, false, "", NaN)- ข้อควรระวัง:
||จะใช้ default เมื่อค่าเป็น0ด้วย — หาก 0 เป็นค่าที่ valid ให้ใช้??(nullish coalescing)
รูปแบบสมัยใหม่ (Fetch API + URLSearchParams)
// ดึง query parameter
const urlParams = new URLSearchParams(window.location.search);
const page = Number(urlParams.get('page')) || 1;
// ส่ง AJAX ด้วย Fetch
fetch(`/api/data?page=${page}`)
.then(res => res.json())
.then(data => console.log(data));