PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

แนวทางฟังก์ชั่น การตรวจสอบตัวแปร GET ที่มากับ url ด้วย javascript

29 June 2016 By


สำหรับตัวอย่างฟังก์ชั่นต่อไปนี้ เป้นแนวทางการสร้างฟังก์ชั่น สำหรับใช้ในการ
ตรวจสอบตัวแปร GET ที่ส่งมากับ url ด้วย javascript ใช้สำหรับ บางกรณี
ที่เราไม่ต้องการใช้ PHP ในการตรวจสอบ หรือไม่สามารถใช้ PHP ตรวจสอบได้เพราะอยู่ในไฟล์ javascript
ฟังก์ชั่นนี้จึงสามารถนำมาใช้แทนได้
 
ตัวอย่างโค้ด และฟังก์ชั่น
 
<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Document</title>  
</head>

<body>

<br>
<br>
<div class="container" style="width:300px;margin:auto;">

</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>    
<script type="text/javascript">  
$(function(){  

	var _get = function(val){
		var result = null; // กำหนดค่าเริ่มต้นผลลัพธ์
			tmp = []; // กำหนดตัวแปรเก็บค่า เป็น array
			// เก็บค่า url โดยตัด ? อันแรกออก แล้วแยกโดยตัวแบ่ง &
		var items = location.search.substr(1).split("&"); 
		for(var index = 0; index < items.length; index++) { // วนลูป
			tmp = items[index].split("="); // แยกระหว่างชื่อตัวแปร และค่าของตัวแปร
			// ถ้าค่าที่ส่งมาตรวจสอบชื่อตัวแปรตรง ให้เก็บค่าผลัพธ์เป็นค่าของตัวแปรนั้นๆ
			if(tmp[0] === val) result = decodeURIComponent(tmp[1]);
		}
		return result;  // คืนค่าของตัวแปรต้องการ ถ้าไม่มีจะเป็น null
	}
	console.log(_get('code')); // ได้ค่า null
	console.log(_get('a'));  // ได้ค่าของตัวแปร  a
	console.log(_get('b'));	 // ได้ค่าของตัวปร b
	if(_get('a') && _get('b')){ // ใช้ตรวจสอบ ถ้ามีการส่งค่าของตัวแปร a และ b
		console.log("OK");	
	}
	if(_get('a') || _get('b')){ // ใช้ตรวจสอบ ถ้ามีการส่งค่าของตัวแปร a หรือ b
		console.log("OK");	
	}
		
});
</script>
 
 
ตัวอย่างสมมติ ประกอบการอธิบาย
สมมติว่า url ของเราคือ www.ninenik.com/test.php?a=1&b=2
 
ปกติถ้าเราต้องการตรวจสอบด้วย PHP ว่ามีการส่งค่าตัวแปร GET มาหรือไม่
ก็จะใช้เป็น
 
<?php
if(isset($_GET['a']) && $_GET['a']!=""){ // ตัวแปร a แบบ GET
	
}
if(isset($_GET['b']) && $_GET['b']!=""){// ตัวแปร b แบบ GET
	
}
if(isset($_GET['a']) && $_GET['a']!="" && isset($_GET['b']) && $_GET['b']!=""){// ตัวแปร a และ b แบบ GET
	
}
if((isset($_GET['a']) && $_GET['a']!="") || (isset($_GET['b']) && $_GET['b']!="")){// ตัวแปร a หรือ b แบบ GET
	
}
 
แต่สมมติว่า เราต้องใช้คำสั่งการตรวจสอบในในไฟล์ javascript เราก็จะใช้ฟังก์ชั่นข้างต้นแทน
รูปแบบคือ
 
_get('ชื่อตัวแปรที่ต้องการ')
 
ตัวอย่าง url www.ninenik.com/test.php?a=1&b=2
 
_get('a')  // จะได้ค่าของตัวแปร a เท่ากับ 1
_get('b')  // จะได้ค่าของตัวแปร a เท่ากับ 2
_get('code')  // จะได้ค่า null เพราะไม่มีตัวแปรนี้
 
ตัวอย่างการใช้ในการตรวจสอบ
 
if(_get('a') && _get('b')){ // ใช้ตรวจสอบ ถ้ามีการส่งค่าของตัวแปร a และ b
	console.log("OK");	
}
if(_get('a') || _get('b')){ // ใช้ตรวจสอบ ถ้ามีการส่งค่าของตัวแปร a หรือ b
	console.log("OK");	
}
 
เท่านี้เราก็สามารถนำไปประยุกต์เพิ่มเติมได้

Tags:: ตัวแปร javascript get





URL สำหรับอ้างอิง