W3.JS serverlar


ULASHISH

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!