W3.JS serverlar
Dinamik ma’lumotlar
Oldingi bobda ishlatilgan ma’lumotlar serverdan olingan statik ma’lumotlar edi.
Ma’lumotlar bazasidan dinamik ma’lumotlarni olish uchun server kodini ko‘plab turli tillarda yozish mumkin.
Mana bir nechta misol:
PHP va MySQL ishlaydigan server
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli("myServer", "user", "pass", "myDB");
$result = $conn->query("SELECT CompanyName, City, Country FROM Customers");
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"Name":"' . $rs["CompanyName"] . '",';
$outp .= '"City":"' . $rs["City"] . '",';
$outp .= '"Country":"'. $rs["Country"] . '"}';
}
$outp ='{"customers":['.$outp.']}';
$conn->close();
echo($outp);
?>
Cross-site HTTP so‘rovlari
Boshqa serverdan (so‘rov yuborayotgan sahifa joylashgan serverdan farqli serverdan) ma’lumot so‘rash cross-site HTTP so‘rovlari deb ataladi.
Vebda cross-site so‘rovlar keng tarqalgan. Ko‘plab sahifalar CSS, rasmlar yoki skriptlarni turli serverlardan yuklaydi.
Biroq zamonaviy brauzerlarda skriptlardan yuboriladigan HTTP so‘rovlar xavfsizlik nuqtai nazaridan shu saytning o‘zi bilan cheklangan.
Quyidagi qator (yuqoridagi PHP misolida) sahifaga boshqa saytdan (cross-site) murojaat qilishga ruxsat beradi:
header("Access-Control-Allow-Origin: *");
Node.js va MySQL ishlaydigan server
var express = require('express');
var app = express();
app.get('/', function (req, res) {
var sql = require("mssql");
var config = {user:'user', password:'pass', server:'myServer', database:'myDB'};
sql.connect(config, function (err) {
if (err) console.log(err);
var request = new sql.Request();
request.query('SELECT CompanyName, City, Country FROM Customers', function (err, recordset) {
if (err) console.log(err)
res.send(recordset);
});
});
});
var server = app.listen(5000, function () {
console.log('Server is running..');
});
ASP.NET, Razor va SQL Lite ishlaydigan server
@{
Response.AppendHeader("Access-Control-Allow-Origin", "*")
Response.AppendHeader("Content-type", "application/json")
var db = Database.Open("myDB");
var query = db.Query("SELECT CompanyName, City, Country FROM Customers");
var outp =""
var c = chr(34)
}
@foreach(var row in query)
{
if outp <> "" then outp = outp + ","
outp = outp + "{" + c + "Name" + c + ":" + c + @row.CompanyName + c + ","
outp = outp + c + "City" + c + ":" + c + @row.City + c + ","
outp = outp + c + "Country" + c + ":" + c + @row.Country + c + "}"
}
outp ="{" + c + "customers" + c + ":[" + outp + "]}"
@outp
PHP va MS Access ishlaydigan server
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=ISO-8859-1");
$conn = new COM("ADODB.Connection");
$conn->open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=myDB.mdb");
$rs = $conn->execute("SELECT CompanyName, City, Country FROM Customers");
$outp = "";
while (!$rs->EOF) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"Name":"' . $rs["CompanyName"] . '",';
$outp .= '"City":"' . $rs["City"] . '",';
$outp .= '"Country":"'. $rs["Country"] . '"}';
$rs->MoveNext();
}
$outp ='{"customers":['.$outp.']}';
$conn->close();
echo ($outp);
?>
ASP.NET, VB va MS Access ishlaydigan server
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<%
Response.AppendHeader("Access-Control-Allow-Origin", "*")
Response.AppendHeader("Content-type", "application/json")
Dim conn As OleDbConnection
Dim objAdapter As OleDbDataAdapter
Dim objTable As DataTable
Dim objRow As DataRow
Dim objDataSet As New DataSet()
Dim outp
Dim c
conn = New OledbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=myDB.mdb")
objAdapter = New OledbDataAdapter("SELECT CompanyName, City, Country FROM Customers", conn)
objAdapter.Fill(objDataSet, "myTable")
objTable=objDataSet.Tables("myTable")
outp = ""
c = chr(34)
for each x in objTable.Rows
if outp <> "" then outp = outp & ","
outp = outp & "{" & c & "Name" & c & ":" & c & x("CompanyName") & c & ","
outp = outp & c & "City" & c & ":" & c & x("City") & c & ","
outp = outp & c & "Country" & c & ":" & c & x("Country") & c & "}"
next
outp ="{" & c & "customers" & c & ":[" & outp & "]}"
conn.close
response.write(outp)
%>
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
