رشته هاي جسوني بسادگي در جاوااسكريپت قابل ترجمه وتبديل ميباشند .همچنين جاوااسكريپت ميتواند در ساختن واصلاح صفحات وب مورد استفاده قرار گيرد .جاوا ميتواند بادريافت وترجمه رشته هاي جسوني ، صفحات وب را ساخته ويا اصلاح نمايد.
مثال ـ ساخت جدولHTML متناسب با داده هاي دريافتيJSON
const dbParam = JSON.stringify({table:"customers",limit:20}); const xmlhttp = new XMLHttpRequest(); xmlhttp.onload = function() { myObj = JSON.parse(this.responseText); let text = "<table border='1'>" for (let x in myObj) { text += "<tr><td>" + myObj[x].name + "</td></tr>"; } text += "</table>" document.getElementById("demo").innerHTML = text; } xmlhttp.open("POST", "json_demo_html_table.php"); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.send("x=" + dbParam);
در زير بااستفاده ازيك ليست كشوئي جداول بانك اطلاعاتيNorthWind باانتخاب نام جدول نتيجه اطلاعات درخواستي در يكHTML table در اين صفحه ايجاد ميشود .
مثال ـ نمونه فوق
<select id="myselect" onchange="change_myselect(this.value)"> <option value="">Choose an option:</option> <option value="customers">Customers</option> <option value="products">Products</option> <option value="suppliers">Suppliers</option> </select> <script> function change_myselect(sel) { const dbParam = JSON.stringify({table:sel,limit:20}); const xmlhttp = new XMLHttpRequest(); xmlhttp.onload = function() { const myObj = JSON.parse(this.responseText); let text = "<table border='1'>" for (let x in myObj) { text += "<tr><td>" + myObj[x].name + "</td></tr>"; } text += "</table>" document.getElementById("demo").innerHTML = text; } xmlhttp.open("POST", "json_demo_html_table.php"); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.send("x=" + dbParam); } </script >
مثال ـ ساخت يك ليست كشوئيHTML با داده دريافتي JSON
const dbParam = JSON.stringify({table:"customers",limit:20}); const xmlhttp = new XMLHttpRequest(); xmlhttp.onload = function() { const myObj = JSON.parse(this.responseText); let text = "<select>" for (let x in myObj) { text += "<option>" + myObj[x].name + "</option>"; } text += "</select>" document.getElementById("demo").innerHTML = text; } } xmlhttp.open("POST", "json_demo_html_table.php", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.send("x=" + dbParam);
فايلPHP كه در اين مثالها استفاده ميشود بنام"json_demo_html_table.php" كه مطابق زير ميباشد .بايستي فقط برااساس شرايط تنظيم شود.
<?php $rcode=json_decode( $_POST['x']); $table_name=$rcode->table; $limit=$rcode->limit; $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "northwind"; //SELECT column_name(s) FROM table_name // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } //$sql = "SELECT customername as name FROM ". $table_name." limit ". $limit; switch ($table_name){ case "customers": $sql="SELECT customername as name FROM ". $table_name; break; case "products": $sql="SELECT productname as name FROM ". $table_name; break; case "suppliers": $sql="SELECT suppliername as name FROM ". $table_name; break; default: $sql="SELECT customername as name FROM ". $table_name; } $sql=$sql." limit $limit"; $result = $conn->query($sql); echo json_encode($result->fetch_all(MYSQLI_ASSOC)); $conn->close(); ?>