Kirish Roʻyxatdan oʻtish

Docx

  • Referatlar
  • Diplom ishlar
  • Boshqa
    • Slaydlar
    • Referatlar
    • Kurs ishlari
    • Diplom ishlar
    • Dissertatsiyalar
    • Dars ishlanmalar
    • Infografika
    • Kitoblar
    • Testlar

Dokument ma'lumotlari

Narxi 20000UZS
Hajmi 243.5KB
Xaridlar 0
Yuklab olingan sana 16 May 2024
Kengaytma docx
Bo'lim Kurs ishlari
Fan Pedagogika

Sotuvchi

ibrohim muxtorov

Ro'yxatga olish sanasi 10 May 2024

70 Sotish

Ajax va json

Sotib olish
MUNDARIJA
KIRISH. 3
I BOB. AJAX HAQIDA TUSHUNCHA. 5
1.1. Ajax bilan ishlash 5
1.2.  " ajax" afzalliklari 11
II BOB. JSON BILAN ISHLASH. 19
2.1. Json afzalliklari 19
2.2. Pyhton va Jsonni bog’lash 22
XULOSALAR. 32
FOYDALANILGAN ADABIYOTLAR RO’YXATI. 34
1 KIRISH.
AJAX nomi Asynchronous JavaScript and XML deb yoyiladi. AJAX XML,
HTML,   CSS   va   JavaScript   yordamida   interaktiv,   tez   ishlaydigan   web   ilovalar
yaratishga mo’ljallangan yangi texnologiya hisoblanadi.
AJAX content uchun XML, natija ko’rsatish uchun CSS va dinamik content
ko’rsatish uchun esa DOM va JavaScriptlardan foydalanadi.
Oddiy   web   sahifada   ma’lumot   serverdan(shuningdek   serverga)   sinxron
so’rovlar   yordamida   uzatiladi.   Bu   degani   formani   to’ldirib   jo’natish   tugmasini
bosganingizda   sizning   oynangiz   yangilanib   serverdan   kelgan   yangi   ma’lumotlar
bilan to’ldirilgan sahifani ochadi.
AJAX   bilan   esa,  yuqoridagi   holat   ancha  qulayroq  amalga  oshadi.  Jo’natish
tugmasini bosganingizda JavaScript serverga ma’lumotlarni uzatadi, natijani qabul
iqladi   va   uni   sahifaning   kerakli   joyiga   joylashtiradi.   Bu   holatda   siz   ma’lumot
serverga uzatilib natija qaytarib olinganini umuman sezmaysiz.
XMLdan asosan serverdan keluvchi ma’lumotni qabul qilish vositasi sifatida
foydalaniladi.
AJAX   –   web   browser   texnologiyasi   hisoblanadi.   Shuning   uchun   ham
serverda qanaqa dastur ishlashidan qat’iy nazar undan foydalanish mumkin.
Foydalanuvchi  AJAX   yordamida   server   bilan   ma’lumot   almashish   jarayoni
bo’layotgan   paytda   ham   sahifadan   foydalanishni   davom   etishi   mumkin.   Chunki
AJAX barcha ishlarini orqa fonda(backgrounda) amalga oshiradi.
AJAX ishlatilganda sahifa emas ma’lumot almashinadi.
RIA texnologiyasi.
RIA   haqida   qisqacha.   RIA(Rich   Internet   Application)   texnologiyasi   –   bu
kompyuter   dasturlarining   xususiyatlariga   ega   bo’lgan   web   ilovalar.   RIA
tushunchasi   SPA(single-page   application)ga   bog’liq   hisoblanadi.   U
2 foydalanuvchiga   drag-and-drop(oynadagi   elementlarni   sichqocha   yordamida
harakatlantirish   xususiyati),   fon   menyusi(sichqoncha   o’ng   tugmasini   bosganda
chiquvchi   menyu),  WYSIWYG(What   you   see   is   what   you   get)   tahrirlash   va   shu
kabi interaktiv xususiyatlarini taqdim etadi. HTML5 hozirgi ko’pchilik zamonaviy
browserlar uchun RIAni ishlatishga standard bo’lib hisoblanadi.
RIAda AJAX
AJAX shu paytgacha bo’lgam eng asosiy RIA texnologiyasi hisoblanadi. U
hozirda   juda   rivojlanmoqda   hamda   u   asosidagi   ko’plab   freymworklar   paydo
bo’lmoqda.  Ammo,   shu   bilan   birga,  AJAX   ba’zi   browesarlarda   ishlamay   qolsihi
mumkin   hamda   u   faqat   JavaScript   bo’lgan   holdagina   ishlaydi.   JavaScriptni   esa
ishlatish va debug qilish ancha murakkab.
AJAXda ma’lumotlar bilan ishlashning qisqacha tavsifi:
HTML va CSSdan foydalangan holda browserda ko’rsatadi
Ma’lumot XML ko’rinishida saqlanadi hamda u serverdan olinadi.
Browserda   XMLHttpRequest   oyekti   yordamida   ma’lumotlar   orqa   fonda
olinadi.
3 I BOB. AJAX HAQIDA TUSHUNCHA.
1.1. Ajax bilan ishlash
Browserga chiqarish JavaScript yordamida amalga oshiriladi.
Ajax   so`rovlari   bilan   ishlash   unumli   ishlardan   biri   hisoblanib,   web   ilovamizni
qayta   yuklanishsiz   serverga   so`rov   yubora   oladigan   xususiyatga   ega.   Yii   ham
o`zining ajax so`rovlari bilan ishlash uchun maxsus tehnologiyalar ishlab chiqgan.
Bu haqida batafsil va samarali usul deb, misollar orqali tushuntirish deb bildik.
Keling   birinchi   misol   bilan   tanishaylik.   Bu   misol   hozirgi   vaqtni   olish   misolidir.
Buning uchun index.php viewimizga quyidagicha kod yozamiz:
/protected/views/site/index.php
<?php
                //   bu   bootstrap   qurilmasi   hisoblanib,   buni   ishlatishda   bootstrap   o`rnatgan
bo`lishingiz kerak                 
        // yoki bo`lmasam yii ning maxsus buttonidan foydalansangiz ham bo`ladi. 
        $this->widget( 'bootstrap.widgets.TbButton' , array (
                  // buttonning texti bo`lib, uni 'VaqtMessage' messagesidan tarjima qilib
olmoqda.
                 'label'  => Yii::t( 'VaqtMessage' ,  'Hozir' ),
                 'type'  =>  'primary' ,
                 'size'  =>  'medium' ,
                 'url' => array ( '#' ),
                 'htmlOptions' => array (
                     // shu button uchun event biriktirmoqdamiz.
4                      'onclick' => ' 
                        vaqtniolish();
                        return false;'
                    ),
                    ));
       ?>
< script  type= "text/javascript" >
function   vaqtniolish ()
       {   // script kod ichida php kod yozish imkoni mavjud va quyidagicha yii kodini
kiritamiz
         <?php   echo  CHtml::ajax( array (
             'url' => array ( 'site/vaqtniOlish' ),   // berilgan url bo`yicha serverga murojaat
             'type' => 'post' ,       //  metod turi
             'dataType' => 'json' ,
             'success' => "function(data){
                if(data.status == 'success')
                    {
                           //  shu keltirilgan " id " da  qaytgan qiymatni chiqarish.
                           $( '#req_res' ).html(data.qiymat);
                    }
                if(data.status == 'exist')
                    {
5                         alert('xato');
                    }
                }" ,
                ))
         ?> ;
         return   false ;
    }
</ script >
< div  id= "req_res" >...</ div >
/protected/controllers/site.php
public   function   actionVaqtniOlish () {
  $date = date( 'Y-m-d H:i:s' );
   if (! empty ($date))
  {
    echo  CJSON::encode(  array (
     'status'  =>  'success' ,
     'qiymat'  => $date,
   ));
  }
   else
  {
    echo  CJSON::encode(  array (
6      'status'  =>  'exist' ,
   )); 
  }
  Yii::app()->end();
 }
Endi   ko`rib   turganingizdek   natijalar   xech   qanday   web   ilovangiz   qayta
yuklanmay   natija   qaytarmoqda.   Endi   ikkinchi   misol   bilan   tanishamiz.   Bu   misol
qiymatni   serverga   yuborib   natijani   olishdan   iborat.   Buning   uchun   quyidagicha
index.php viewimizga kod kiritamiz:
/protected/views/site/index.php
< input  type= "text"  name= "text"  id= "salom" />
<?php  $this->widget( 'bootstrap.widgets.TbButton' , array (
                 'label'  => Yii::t( 'Message' ,  'Qiymat qaytarish' ),
                 'type'  =>  'primary' ,
                 'size'  =>  'medium' ,
                 'url' => array ( '#' ),
                 'htmlOptions' => array (
                     'onclick' => ' 
                     var qiymat = $( "input:text[name=text]" ).val();
  // text maydonidagi qiymatni o`zgaruvchiga olish
                        vaqtniolish(qiymat);
                        return false;'
7                     ),
                    ));             ?>
< script  type= "text/javascript" >
function   vaqtniolish (qiymat)
   { 
      <?php   echo  CHtml::ajax( array (
          'url' => array ( 'site/qiymatqaytarish' ),
          'type' => 'post' ,
                  //   berilgan   url   bo`yicha   datasi   ham   berib   yuborilmoqda   POST   metodi
bo`yicha 
          'data' => array ( 'qiymat' => 'js:qiymat' ),
           'dataType' => 'json' ,        
                     'success' => "function(data){
             if(data.status == 'success')
                 {
                     $( '#req_res' ).html(data.value);
                 }
            }" ,
             ))
      ?> ;
      return   false ;
 }
8 </ script >
< div  id= "req_res" >...</ div >
Kontrollerimizga quyidagicha kod kiritamiz:
/protected/controllers/site.php
public   function   actionQiymatqaytarish () {
    // kelgan POST metodidagi qiymatni o`zgaruvchiga o`qib olish
   $qiymat = $_POST[ 'qiymat' ];
    echo  CJSON::encode(  array (
     'status'  =>  'success' ,
     'value'  => $qiymat,
   ));
  Yii::app()->end();
 }
bu kodda kelgan POST metodidagi qiymatni olib uni view saxifamizga qayta berib
yubormoqdamiz.   Ko`rayotgan   bo`lsangiz   ikkala   misolimizda   ham   JSON   qiymat
qaytarmoqdamiz   shuning   ushun   bu   qiymatlarni   o`qish   uchun   js   kodimizga
"dataType"=>"json"   deb   berib   qo`ymoqdamiz.   Natija   ko`rganingizdek   kiritgan
yozuvingizni chiqarmoqda.
Qanday AJAX turadi? Bu nimani anglatadi? Bu qisqartirish qisqartirish. Bu
Asynchronous JavaScript-ni va XML ( "Asynchronous JavaScript-ni va IKSML")
degan   ma'noni   anglatadi.   Ko'pincha,   qarang,   yoki,   bu   yangi   texnologiyalar,   deb
ma'lumot   eshitish   mumkin.   Lekin   bu   to'g'ri   emas.   Javascript   va   XML,   "Ayaks"
Holbuki, allaqachon juda uzoq vaqt bor, deb dalil bu texnologiyalarning bir sintez
9 bo'ladi. Eng tez-tez u muddatli Veb 2.0 bilan birgalikda ishlatiladi va ilg'or dizayn
texnik foydalanish tushuniladi.
CLOSE
Shunday qilib, biz allaqachon AJAX nima bo'lgan umumiy bir fikr bor. Bu
amalda   bizga   beradi   nima?   Nima   uchun   uni   qo'llash   haqida   gapirish   faol
qilinmoqda?   Ushbu   texnologiya   o'ziga   xosligi   -   foydalanmoqchi   bo'lsa,   birinchi
talabiga ko'ra, butun sahifani yangilash shart emas, deb hisoblanadi. Axir, siz faqat
uning   bir   qismi   uchun   yangi   ma'lumotlarni   talab   qilishi   mumkin.   (Agar   mavjud
kamroq   vaqt   kutishga   chunki)   va   (Cheksiz   Internet   bo'lmagan   shaxslar   uchun)
baho,  bu   qulay.   Biroq,   server   yangi   ma'lumotlar   haqida   xabardor   kamida   bir   yuk
ko'rsatkich   yoki   matn   xabarlarini   foydalanish   maqsadga   muvofiqdir   nima
yangilashni   bo'layotganini   haqida   foydalanuvchini   xabardor   qilish.   minuses
texnologiyasi   ko'pincha   meros   va   matn   brauzerlarning   qo'llab-quvvatlamaydi,   bu
aslida   ataladi   kabi.   Va   JavaScript   texnologiya   o'chirish   uchun   qobiliyati   ko'p   va
zavq   ortiq   foydalanuvchi   da   bo'ladi.   Shuning   uchun,   siz   AJAX   suiiste'mol
qilmasligi kerak. ma'lumotlarni taqdim muqobil usullarini ta'minlash uchun emas,
balki, agar u, berishi mumkin? Eng yaxshi holda, axborot faqat saytida ko'rsatiladi
bo'lmaydi.   eng   yomon   yilda   -   uning   ko'rinishi   foydalanuvchi   endi   qaytib   bor,
shunday ta'sir ko'rsatadi.
1.2. "AYAKS" AFZALLIKLARI
10  
Bu   texnologiya   veb-sahifa   amalga   mumkin   bo'lgan   ikki   usullarini   taklif
etadi.   birinchi   qayta   ochmasdan   o'zgarishlar   qilish   o'z   ichiga   oladi.   Bu   server
dinamik so'rovlar bilan amalga oshirilishi mumkin. Ikkinchi XMLHttpRequest eng
mashhur   bo'lgan   maxsus   texnologiyalar,   foydalanishni   o'z   ichiga   oladi.   Nisbatan
o'z afzalliklari, "Ayaks" quyidagi aytish mumkin:
1. Siz interfeysi inson o'zaro va veb-sayt osonlashtirish natijasida bilan,
foydalanuvchi   uchun   yaxshi   xususiyatlari   bir   butun   raqami   bo'ladi
qulay veb-asoslangan ariza yaratishingiz mumkin.
2. Buning o'rniga to'liq sahifada qisman qayta. Bu resurslar saqlaydi va
mashina ish faoliyatini optimallashtiradi.
3. sayt server qismi faol bo'lgan foydalanuvchilar bilan o'zaro hamkorlik
qiladi.
4. g'oyalar bir qator amalga oshirish uchun Foydali.
Bu   erda,   masalan,   mijozlarga   maslahat   uchun   foydalanish   mumkin   bo'lgan
hisobot   shakl,   kerak.   Buni   qanday   amalga   oshirish   mumkin?   Birinchidan,   biz
axborot,   «tashuvchi»   g'amxo'rlik   qilish   kerak.   Buning   uchun,   siz   bir
XMLHttpRequest   obyekti   yaratish   kerak.   U   server   va   foydalanuvchi   brauzeri
o'rtasidagi   vositachi   sifatida   harakat.   Bu   ob'ekt   bilan   so'rovlarini   yuboradi   va
11 ularga   javob   olish.   to'g'ridan-to'g'ri   ma'lumot   almashish   uchun,   biz   AJAX   PHP
kerak. Ushbu transport  vositalari  GET-  yoki  POST-so'rovlarni  yordamida amalga
oshirilishi   mumkin.   Bu   holda,   zarur   vajlari   URL   orqali   to'g'ridan   o'tgan   bo'ladi.
Shu bilan birga u vazifasini ishlatish va ma'lumotlar uzatish so'zini emas ta'minlash
uchun   bo'ladi.   Lekin   qanday   qilib   AJAX-so'rov   amalga   oshirish   uchun?   POST
foydalanish  tavsiya  etiladi. Unga rahmat, siz, bundan tashqari,  ancha qiyin iborat
ma'lumotlar cheklanmagan miqdorda o'tkazish mumkin.
ISH PRINTSIPI
Qanday amalda Asynchronous JavaScript-ni va XML bo'ladi? ning bir misol
bilan bu  anglasinlar.  Agar   mijoz qismi  xavfsiz  ma'lumot   almashish  uchun  barcha
zarur funksiyalarini ta'minlaydi ishonch hosil qilish uchun kerak tuzilishi nisbatan
qurilgan.   Bu   axborot   tanlangan   yo'llarini   o'tkazish   uchun   zarur   bo'lgan   usullarini
ta'minlash kerak. server qismi allaqachon ularga asoslangan ma'lumotlar, va, qayta
ishlash,   keyinchalik   mijozga   uni   o'tishi   uchun   yangi   ma'lumot   ishlab   chiqarish
uchun   ta'minlashi   lozim.   hamkorlikning   eng   keng   tarqalgan   turi   bazasi   bilan
ishlash  uchun  emas.  ilgari  aytib  o'tganimizdek  Biz  geribildirim   bir   shakli   sifatida
ko'p ish saytlar bir element hisoblanadi. Bu holatda, "Ayaks" ning afzalligi, u doim
mos kelmaydigan, ma'lumotlar uzatish ushlab, deb. axborot yuboriladi esa Boshqa
so'zlar   bilan   aytganda,   foydalanuvchi   unga   barcha   zarur   harakatlarni   amalga
oshirish   mumkin.   Har   bir   ishning   o'ziga   qaratib,   siz   bu   jarayon   sayt   Saytga
ma'lumot   xohlaysizmi   qaror   kerak.   Shu   formasi   nisbatan   bu   holatda   biz,   yoki
12 shunga   o'xshash   biror   narsa   "operator   javob   izlaydi"   yozishingiz   mumkin,   deb
aytish kerak. 
U   sizga,   chunki   texnologiya   nomi,   deb   o'ylashingiz   mumkin,   deb,   faqat
XML   uchun   emas   kelishi   mumkin.   Bundan   tashqari,   u   matn   yoki   JSON   sifatida
berilishi   mumkin.   Birinchi   holda   axborot   darhol   sahifada   ko'rsatilishi   mumkin.
XML foydalanayotgan bo'lsangiz, siz to'g'ri mijoz brauzerida qayta ekanini AJAX-
fayl   g'amxo'rlik   qilish   kerak.   bu   holda   barcha   ma'lumotlar   (X)   HTML   aylanadi.
foydalanganda   JSON   formatini,   siz   to'liq   ob'ektini   Javascript   olish   kodni   bajarish
uchun   kerak   bo'ladi.   Bu   ehtiyot   bo'lish   va   hisobga   ko'p   hackerlar   bu   texnologiya
orqali   zararli   kod   uzatish   kabi,   bu   haqiqatni   olish   kerak.   Ular   qayta   oldin
ma'lumotlar   tekshirish   jarayonida   ta'minlash   uchun   zarur   bo'lgan.   turli   brauzerlar
uchun   amalga   oshirish   xususiyatlari   oz   farq   bo'lishi   mumkin,   lekin   umuman,   bu
erda harakat bir dastur hisoblanadi.
BIZ SERVER VA JAVOB QAYTA ISHLASH UCHUN SO'ROV QILISH
 
quyidagicha harakatlar butun oqibat hisoblanadi:
1. Dastlab,   siz   yaratish   va   XMLHttpRequest   bor   ishonch   hosil   qilish
uchun kerak bo'ladi.
2. So'ngra server aloqasi boshlab.
3. unga so'rov yuboring.
13 4. Biz ma'lumotlar kelishini kutish, va ularni qayta ishlash.
Ob'ekt   yaratish   bo'yicha   ayrim   xususiyatlari   haqida   aytib   kerak.   Bu   faqat
dasturlash tilida doirasida mumkin bo'lgan har qanday joyda qo'zg'atilishi mumkin.
U vaqt har qanday bir nuqtasida bir global maqomini berildi Lekin agar u faqat bir
talabi   bilan   ishlash   mumkin   bo'lishi   uchun.   Bu   nuqtada,   siz   yaqin   e'tibor   berish
kerak.   davolash   bilan   bog'liq   -   Bu   yerda   biz   tanlagan   vositasi   haqida   o'ylash.
Shunday qilib, XML ma'lumotlar DOM-vazifalarni qayta va foydalanuvchi taqdim
qilinadi, agar HTML  natija bor. JSON-ball bilan va nima qilish kerak? Bu ob'ekt
qayd   Javascript,   deb   tushunish   kerak.   Bu   nimani   anglatadi?   Tufayli   JSON   bir
ob'ekt mag'lubiyatga sifatida ko'rsatish mumkin. Lekin bu usul to'liq xavfsiz emas,
deb unutmaslik kerak, va omillar ko'p e'tiborga olinishi  kerak. Lekin, umuman, u
juda oson.
SERVER-YON DASTURLASH TILLARI
Deyarli   har   qanday   veb-ga   asoslangan   dastur   bir   yo'l   yoki   boshqa   ularni
foydalanadi. ma'lumotlar uzatish uchun eng mashhur PHP hisoblanadi. Bu, odatda,
saytlar   uchun   fayllarni   yozish   kuni   qaerda   muhim   ma'lumotlar   uzatish   tezligi   va
unga   va   ishonchliligi   orasida   afzal   muvozanat   emas.   XMLHttpRequest   uzatish
texnikasi yuqorida muhokama qilindi.
KO`RINISH SERVER
Nima dasturlari to'liq AJAX faoliyat uchun zarur? Nima, bu bizga beradi? Ular
nima uchun? Bu savollarga javob olish uchun, siz quyidagi ro'yxati bilan tanishib
kerak:
1. HTML / XHTML.   Ular sahifa tartibini tan server uchun zarur.
2. CSS.   Ushbu avtomobil sahifa dizayn Visual tanlash uchun kerak.
3. DOM.   Bu foydalanuvchi tomonidan harakatga javob sifatida sahifada
dinamik o'zgarishlarni ta'minlash uchun zarur.
14 4. XML.   mijoz   va   server   o'rtasidagi   ma'lumot   uzatish   uchun   talab
qilinadi.
5. JavaScript.   Biz kursorni "Ayaks" yaratish va shovqin bilan ta'minlash
kerak bo'ladi.
6. XMLHttpRequest.   Ob'ekt orqali so'rovlarni serverga yuboriladi.
SAYT FOYDALANISH
Endi   biz   nazariy   bilim   va   qanday   AJAX   haqida   fikr   ham.   ma'lumotlarni
yuborish, faqat ma'lum bir amaliyotni talab endi. AQSh "Ajax" yordamida vazifa
ijrosini   yaqinlashishga   qanday,   umuman   ko'rib   chiqaylik.   Shunday   qilib,   biz   bir
haydovchi   ma'lumotlar   bazasini   yaratish   kerak.   Va   ular   operatsiya   qilinishi
mumkin qurilmalar farq qiladi. Bu yuqorida bazasi juda katta ekanligini ta'kidlash
lozim,   shuning   uchun   men   faqat   mijoz   yuboring   va   u   mantiqiy   emas   JavaScript
yordamida  tanlash uchun taklif  bor. Bu  tufayli  bitta parametr  uchun, shuningdek,
bir veb-sahifa qayta egalik qilish maqsadga muvofiqdir. serverda so'rovlar maxsus
PHP   skriptlarni   band   bo'ladi.   ma'lumotlar   bazasi   bir   XML-fayli   sifatida   amalga
oshirilmoqda.
MA'LUMOTLAR BAZASI HAQIDA
15  
Bu uning tuzilishini chiqish kerak bo'ladi. Va nima ob'ekt o'tdi parametrlari,
agar? Bunday holda u vazifasidan qo'ng'iroq voqea hech bog'laning u erda bo'ladi,
bir   o'zgaruvchilar,   yaratish   uchun   ta'minlash   uchun   zarur.   Bu   global   kodni   qilish
uchun   zarur   bo'lgan   har   bir   joyda   uni   kirish   imkoniyatiga   ega   bo'lish   uchun.
Qulaylik uchun,  u bir  foydalanish  maqsadga   muvofiqdir  bazasi  boshqaruv  tizimi.
Albatta,   bu   zarur   emas.   Lekin   hali   ham   ma'lumotlar   bazasidan   foydalanish
ma'lumotlari bilan yanada qulay va samarali ishlash imkonini beradi.
BIZ DVIGATEL ISHGA USTIDA ISHLAYMIZ
Qanday   hamma   narsa   sodir   bo'ladi   edi?   Shunday   qilib,   maxsus   vazifani
sabab   bo'ladi,   ma'lum   bir   voqeani,   kelsa.   U   yuboriladi   bir   Get   yoki   Post-
ma'lumotlarni   tayyorlaydi.   Bu,   keyin   server   ssenariysi   URL   shikoyatini   qiladi
vazifasini   chaqiradi.   Bu   XMLHttpRequest   ob'ektini   yaratish   ko'zda   tutadi   zarur.
unga   bir   yozuvlar   bir   o'zgaruvchining   saqlanishi   kerak.   ma'lumotlar   serverga
yuborilgan   so'ng,   undan   javob   kutib   kerak.   Buning   uchun,   siz   ma'lumot   olish
16 uchun "telekulak" ochish mumkin (ma'lum bo'lsa qachon, keladi va bo'lardi) yoki
har doim ma'lumotlarni qabul qilishga tayyor bo'ladi funktsiyani ta'minlash uchun.
birinchi   mujassam   favqulodda   vaziyat   taqdirda   kamroq   ishonchli   hisoblanadi.
Ikkinchi   tushunish   -   resurslari   jihatidan   yanada   qimmat.   u   bir   o'zgaruvchining
nisbatan faqat amalga oshiriladi, agar-da, u tez Internet ta'sir qilmaydi. Lekin, agar
u   erda   yuzlab   va   minglab   bor,   va   ular   yuqori   qaror   bo'ladi,   -   u   yana   bir   masala
bo'ladi. Bu mavjud resurslar va samaradorligini foydalanish o'rtasida muvozanatni
izlab   shuning   zarur.   Axir,   u   16   Gbayt   xotira   emas,   balki   butun,   deb   tushunish
kerak. Bu server bu vaqtda mavjud emas, deb oldingi ma'lumotlarni yoki ma'lumot
barpo etilgan, shundan keyin, ma'lum bir kutish vaqtini belgilash mumkin.
XUSUSIYATLARI
sahifa yoki qo'llash uchun interfeys tomonidan yaratilgan "Ajax" yordamida,
siz   natija   turli   operatsion   tizimlarda   yaxshi   ishlaydi   ishonch   hosil,   va   turli
brauzerlar   haqida   hosil   qilish   kerak.   Birinchi   holda   bebaho   yordam   Emulators
bilan ta'minlash mumkin bo'ladi. Ikkinchi holatda u dasturlarni turli o'rnatish uchun
faqat   etarli   bo'ladi   va   ular   kodini   funksiyalarini   sinab.   Foydalanuvchi   brauzer
eskirgan   foydalaniladi   yoki   zarur   sozlamalarni   o'chirib   qo'yiladi   holda   u,
shuningdek,   muayyan   harakatlarni   ta'minlash   uchun   zarur   bo'ladi.   Bunday
hollarda,   saqlash,   bu   holatda   ko'rish   sayt   mumkin   emas   sababini   bildirgan,
17 sahifadagi   matn   olib   chiqish   uchun   qabul   qilinishi   kerak.   Ha,   zamonaviy
texnologiyalar   yordamida   odamlar   hozir   aksariyati   lekin   butunlay   ehtimollik   va
mehmonlarga bir necha foizi ba'zi eski dasturini ishlatish, deb aslida e'tibor qo'yib
bo'lmaydi. Va ish miqyosda muhim oqibatlarga olib kelishi mumkin.
Bu   ushbu   moddaning   bir   mantiqiy   yakuniga   keladi.   Biz   umuman   "Ayaks"
haqida   gapirish   bo'lsangiz,   bu   avtomobil   siz   zavq   tez   va   vakolatli   tartibini   bilan
ishlash juda yoqimli va xususiyati boy veb-saytlar yaratish, uning foydalanuvchilar
uchun   xalos   qilish   uchun   imkon   beradi.   bor   kelajakda   yana   ham   ilg'or
texnologiyalar   bo'ladi,   lekin   hozir   uchun,   biz   bor,   nima   foydalanadi,   deb   shubha
yo'q.   dasturlash   tillari   va   metodlarni   takomillashtirish   ancha   mumkin,   va   bu
mavjud bo'ladi, bir variant kabi, usullarini yanada ko'proq sifatli mahsulot yaratadi.
Lekin, zarur ish endi, deb u mumkin kabi bo'lishi. Va bu nom - "Ayaks".`
II BOB. JSON BILAN ISHLASH.
2.1. Json afzalliklari
JSON   (JavaScript   Object   Notation)   bu   malumatlar   almashinishi   uchun
ishlatiladigan   text   formati   bo'lib,   javascript   uchun   yaratilgan   va   aynan   shu   tilda
18 ko'p   qo'llaniladi.
Duglas   Krokford   tomonidan   yaratilgan.   JSON   javascript   uchun   yaratilganiga
qaramasdan   uni   ko'pchilik   tillarda   ishlatishimiz   mumkin.   Aynam   men   uni
androidda   server   bilan   malumot   almashganda   ishlatganman.
Server   json   ko'rinishida   malumotlarni   jo'natgan,   abdroidda   u   parse   qilinib   mos
class   obyektlariga   aylantirilgan.   Shaxsiy   tajribamdan   (   uncha   katta   emas-u   :)   )
kelib   chiqib   aytadigan   bo'lsam,   JSON   obyekt   asason   frontend ga   backend dan
malumotlarni   jo'natishda   ishlatiladi.
Hususan   PHP ga   keladigan   bo'lsak   uning   5.2   versiyasidan
boshlab   json_encode()   va   json_decode()   junksiyalari   kiritilgan.
JSON   ga misol:
{  
      "firstName" :       "Иван"  ,  
      "lastName" :       "Иванов"  ,  
      "address" :    {  
          "streetAddress" :       "Московское ш., 101, кв.101"  ,  
          "city" :       "Ленинград"  ,  
          "postalCode" :  101101   
    },  
      "phoneNumbers" :    [  
           "812 123-1234"  ,  
           "916 123-4567"   
    ]  
}
19 Ko'rib turganingizdek u 2 qismdan iborat: key(o'zgaruvchi nomi) va
qiymati. Nomidan kelib chiqib chiqqan holda u oddiy javascript obyektga
juda o'xshaydi.   Javascript Obyekt   haqidagi postni o'qishingiz mumkin. Ularning 
assosiy farqi:
 Key (o'zgaruvchi nomi) har doim   "   ichida yozilishi kerak.
 Qabul qiladigan qiymatlari
o string
o sonli qiymat
o boshqa   JSON   obyekt
o massiv
o bool qiymat
o null
Masalan:
// JSON:
{  "foo"  :  "bar"    } 
// Javascript obyekt:
var  o=
{
    foo :  "bar"
};
20 Biz javascript obyektni   var o = { foo: «bar» };   deb yozgan taqdirimizda ham
javascript xatosiz ishlayveradi. Nimaga endi   JSON da key   "   ichida 
yoziladi?   Tepada aytganimizdek,   json   o'zaro malumot almashish formati va 
malumot qabul qiladigan tomon malumotni   parse   qilishi uchun shunday o'zgarmas 
qonunlarni joriy qilgan.
JSON ( J ava S cript  O bject  N otation) bugungi kunda ma'lumotlarni saqlash va 
internet orqali uzatish uchun qo'llaniladigan eng mashxur format hisoblanadi. 
Dastavval JavaScript tili uchun yaratilgan bu format, bugungi kunda deyarli barcha
dasturlash tillari tomonidan ishlatiladi. Qolaversa, JSON formatidagi fayllarining 
tarkibini oddiy matn muharriri yordamida ko rish va tahrirlash mumkin.ʻ
Aksar holatlarda dastur va server orasidagi ma lumotlar aynan JSON ko rinishida 
ʻ ʻ
uzatiladi. Quyidagi rasmda Wikipedia sahifasidan olingan ma lumot ham JSON 	
ʻ
formatida berilgan:
JSON
Yuqoridagi misolda ma lumotlar Pythondagi lug'atlar kabi kalit so z va qiymat 	
ʻ ʻ
ko rinishida saqlangan. Lekin, JSON yordamida biz nafaqat lug'at, balki boshqa 	
ʻ
turdagi ma'lumotlarni ham saqlashimiz mumkin. Bunda Pythondagi ma'lumot 
turlari, quyidagi jadval asosida, JavaScript ma'lumot turlariga konvertasiya 
qilinadi:
Python JavaScript
dict Object
list Array
tuple Array
str String
int Number
21 float Number
True true
False false
None null
Demak, dasturimiz davomida ma lumotlarni JSON ko'rinishida saqlashimiz, ʻ
internet orqali boshqa foydalanuvchilarga, dasturlarga yoki serverga yuborishimiz, 
JSON fayllarni Pythonda ochib, unga ishlov berishimiz va turli amallar 
bajarishimiz mumkin.
JSON o'zgaruvchilar, tarkibidan qat'iy nazar matn ko'rinishida saqlanadi.
2.2. Pyhton va Jsonni bog’lash
SON ma lumotlar va fayllar bilan ishlash uchun Pythonda maxsus 	
ʻ json  moduli bor.
Demak, dasturimiz boshida biz bu modulni yuklab olishimiz kerak bo ladi (	
ʻ import 
json ). 
Ma'lumotlarni JSON matniga o'tkazish uchun ikki funksiyadan foydalanamiz: 
 json.dumps(x)  — berilgan  x  o'zgaruvchini JSON matniga o'zgartiradi
 json.dump(x,fayl)  — berilgan  x  o'zgaruvchini JSON ga o'zgartirib, 
ko'rsatilgan  fayl ga saqlaydi.
json.dumps()
Ma'lumotlarni JSON formatiga o'tkazish uchun  json.dumps()  funksiyasidan 
foydalanamiz:
Copy
import json
x = 10
22 x_json = json.dumps(x)
ism = "anvar"
ism_json = json.dumps(ism)
sonlar = [12, 45, 23, 67]
sonlar_json = json.dumps(sonlar)
JSON ma'lumotlar matn ko'rinishida saqlanadi.
print(type(sonlar_json))
Natija:  str
Yuqoridagi aytganimizdek, ko'p holatlarda JSON ma'lumotlar lug'at ko'rinishda 
uzatiladi. 
Copy
bemor = {
  "ism": "Alijon Valiyev",
  "yosh": 30,
  "oila": True,
  "farzandlar": ("Ahmad","Bonu"),
  "allergiya": None,
  "dorilar": [
    {"nomi": "Analgin", "miqdori": 0.5},
    {"nomi": "Panadol", "miqdori": 1.2}
  ]
}
bemor_json = json.dumps(bemor)
23 print()  funksiyasi yordamida JSON tarkibini ko'rishimiz mumkin:
print(bemor_json)
Natija:  {"ism": "Alijon Valiyev", "yosh": 30, "oila": true, "farzandlar": ["Ahmad", 
"Bonu"], "allergiya": null, "dorilar": [{"nomi": "Analgin", "miqdori": 0.5}, 
{"nomi": "Panadol", "miqdori": 1.2}]}
Yuqoridagi natija o'qish uchun noqulay ko'rinishda chiqdi. Buni to'g'rilash uchun 
dumps()  funksiyasiga qo'shimcha  indent=4  parametrini beramiz. Bu parametr 
ma'umotlarni saqlashda chapdan qancha joy tashlashni ko'rsatadi:
Copy
bemor_json = json.dumps(bemor, indent=4)
print(bemor_json)
Natija:
Copy
{
    "ism": "Alijon Valiyev",
    "yosh": 30,
    "oila": true,
    "farzandlar": [
        "Ahmad",
        "Bonu"
    ],
    "allergiya": null,
    "dorilar": [
        {
            "nomi": "Analgin",
24             "miqdori": 0.5
        },
        {
            "nomi": "Panadol",
            "miqdori": 1.2
        }
    ]
}
Ko'rib turganingizdek, natija o'qishga qulay ko'rinishda chiqdi.
Mavzu boshida, JSON ichidagi ma'lumotlar JavaScript ma'lumot turlariga 
konvertasiya qilinadi dedik. Buni yuqoridagi misolda ham ko'rishimiz mumkin 
( farzandlar ,  oila ,  allergiya  kalitlari qiymatini asl lug'at bilan solishtiring). 
json.dump()
Ma'lumotlarni JSON formatiga o'tkazish va faylga yozish uchun  json.dump()  
funksiyasini chaqriamiz. Funksiya parametri sifatida o'zgaruvchi va fayl nomlarini 
ko'rsatamiz. Albatta buning uchun avval faylni yozish uchun ochgan bo'lishimiz 
kerak:
Copy
bemor = {
  "ism": "Alijon Valiyev",
  "yosh": 30,
  "oila": True,
  "farzandlar": ("Ahmad","Bonu"),
  "allergiya": None,
  "dorilar": [
    {"nomi": "Analgin", "miqdori": 0.5},
25     {"nomi": "Panadol", "miqdori": 1.2}
  ]
}
with open('bemor.json','w') as f:
    json.dump(bemor,f)
JSON fayl tarkibini istalgan matn muharrirda ochib ko'rishimiz mumkin:
JSON fayl tarkibi
JSONDAN PYTHONGA
JSON formatidagi ma'lumotlarni Pythondagi ma'lumot turiga keltirish uchun 
json.loads()  yoki  json.load()  funksiyalaridan foydalanamiz. Yuqoridagi ka'bi, 
json.loads()  funksiyasi to'g'ridan-to'g'ri JSON matn bilan ishlasa,  json.load()  
funksiyasi JSON fayllarni o'qish uchun ishlatiladi.
json.loads()
Bu funksiya parametr sifatida JSON matn qabul qiladi va Python o'zgaruvchiga 
o'tkazadi.
Copy
sonlar = json.loads(sonlar_json)
bemor = json.loads(bemor_json)
print(bemor)
Natija:
26 {'ism': 'Alijon Valiyev', 'yosh': 30, 'oila': True, 'farzandlar': ['Ahmad', 'Bonu'], 
'allergiya': None, 'dorilar': [{'nomi': 'Analgin', 'miqdori': 0.5}, {'nomi': 'Panadol', 
'miqdori': 1.2}]}
E'tibor qiling,  oila  va  allergiya  kalitlarining qiymati qaytadan Python ma'lumot 
turlariga qaytdi.
json.load()
Bu funksiya JSON fayllarning tarkibini Pythonga yuklab olish uchun ishlatiladi. 
Copy
filename = 'bemor.json'
with open(filename) as f:
    bemor = json.load(f)
    
print(type(bemor))
Natija:  <class 'dict'>
JSON BILAN ISHLASH
Ko'pincha internet orqali JSON fayllarni qabul qilganimizda ma'lumotlar bir necha 
qavatli lug'at ko'rinishida bo'ladi. JSON matnidan aynan o'zimizga kerakli 
ma'lumotni ajratib olish uchun lug'atni biroz tahlil qilish, uning kalitlari va 
qiymatlarini topish talab qilinishi mumkin. Bu ayniqsa juda uzun JSON fayllarga 
tegishli. Shuning uchun JSON bilan samarali ishlash uchun  lug'atlar bilan ishlashni
yana bir bor takrorlab oling.
Quyidagi misolda Google Maps hizmati qaytargan JSON matni lug'at ko'rinishida 
berilgan. Bu Toshkent shahridagi Olmazor tumanining Geografik manzili. 
{
27     "address_components": [
        {
            "long_name": "Almazar District",
            "short_name": "Almazar District",
            "types": [
                "political",
                "sublocality",
                "sublocality_level_1"
            ]
        },
        {
            "long_name": "Tashkent",
            "short_name": "Tashkent",
            "types": [
                "locality",
                "political"
            ]
        },
        {
            "long_name": "Tashkent Region",
            "short_name": "Tashkent Region",
            "types": [
                "administrative_area_level_1",
                "political"
            ]
        },
        {
            "long_name": "Uzbekistan",
            "short_name": "UZ",
28             "types": [
                "country",
                "political"
            ]
        }
    ],
    "formatted_address": "Almazar District, Tashkent, Uzbekistan",
    "geometry": {
        "bounds": {
            "northeast": {
                "lat": 41.3954567,
                "lng": 69.269883
            },
            "southwest": {
                "lat": 41.3249733,
                "lng": 69.16497629999999
            }
        },
        "location": {
            "lat": 41.3645355,
            "lng": 69.2281531
        },
        "location_type": "APPROXIMATE",
        "viewport": {
            "northeast": {
                "lat": 41.3954567,
                "lng": 69.269883
            },
            "southwest": {
29                 "lat": 41.3249733,
                "lng": 69.16497629999999
            }
        }
    },
    "place_id": "ChIJ195FnkeMrjgR3nkapKKdk7A",
    "types": [
        "political",
        "sublocality",
        "sublocality_level_1"
    ]
}
Keling shu ma'lumotlar orasidan tumanning geografik koordinatalrini topamiz. 
Avvalo, lug'atga ko'z yugurtirib chiqib, bizga kerak ma'lumotlar quyidagi 
ko'rinishda berilganini ko'rishimiz mumkin:
Copy
"location": {
            "lat": 41.3645355,
            "lng": 69.2281531
Bizga aynan latitude (kenglik) va longitude (uzunlik) qiymatlari kerak. Ular esa 
"location" kaliti ichidagi lug'atda lat va lng kalitlariga tegishli qiymatlarda 
joylashgan. location kalitining o'zi ham geometry kaliti ichida joylashganini 
ko'rishimiz mumkin.
Demak, lu'gat ichidan lat va lng qiymatlarini olish uchun quyidagi kodni yozamiz:
kenglik = data['geometry']['location']['lat']
uzunlik = data['geometry']['location']['lng']
30 print(f"{kenglik},{uzunlik}")
Natija:  41.3645355,69.228153
XULOSALAR.
Ajax (Asynchronous JavaScript and XML) va JSON (JavaScript Object 
Notation) ko'p mashhur veb texnologiyalardir, ularning har biri ma'lumot 
almashish uchun ishlatiladi, ammo ularga moslashtirilgan vazifalarni bajarishda 
farq qiladi.
Ajax veb sahifalardagi ma'lumotlarni yuklash, yangilash va ko'rsatishda 
ishlatiladi, bu esa sahifani qayta yuklashsiz o'zgarishlarni qilishga imkoniyat 
beradi. JSON esa ma'lumotlarni kerakli formatda saqlash va ularga kirish uchun 
moslashuvchan va oddiy bo'lish uchun ishlatiladi.
31 JSON, ma'lumotlar strukturini ifodalash uchun moslashuvchan va aniq 
bo'lgan usuldir. Bu, obyekt (object), massiv (array), sonlar, matnlar va boolean 
qiymatlarni o'z ichiga oladi. Shuningdek, JSON hajmi kichik bo'lib, shuningdek, 
uni o'qish va yozish oson.
Ajax esa veb ilovalarda foydalanuvchining qo'rsatgan amalini tugatishni 
kutishsiz server bilan asinxron aloqani o'rnatadi, bunday aloqalarni yaratishda 
JavaScript ishlatiladi. Bu, veb sahifani qayta yuklashsiz ma'lumotlar almashish 
uchun juda qulaydir. JSON esa ma'lumotlarni o'z ichiga oluvchi shaklda saqlash 
uchun foydalaniladi, shu bilan birga o'qish va yozish ham oson bo'ladi.
Bularni birlashtirganda, veb ilovalar uchun JSON ma'lumotlarini Ajax orqali 
olish, ulardan foydalanish va ko'rsatish juda mashhur bo'lgan usuldir. Bu usul, veb 
sahifalarni ko'proq interaktiv qiladi va foydalanuvchilar bilan server o'rtasidagi 
ma'lumot almashishini osonlashtiradi.
FOYDALANILGAN ADABIYOTLAR RO’YXATI.
•   "Use   Ajax   with   WebSphere   Portal"   (developerWorks,   June   2006)   to
improve portal performance, create a cleaner portal application architecture, and –
most important -- give your users a much more responsive portal.
• Adaptive Path is one of the companies on the leading edge of user interface
design; you can learn a ton about Ajax by perusing their pages.
32 •   If   you're   curious   about   where   the   term  Ajax   came   from,   check   out   Jesse
James Garrett and his excellent articles (like this one) on Ajax.
• You can get a head start on the next article in this series, focusing on the
XMLHttpRequest   object,   by   checking   out   this   excellent   article   on   the
XMLHttpRequest object.
•   If   you   use   Internet   Explorer,   you   can   get   the   scoop   at   the   Microsoft
Developer Network's XML Developer Center.
•   Ajax   for   Java   developers:   Build   dynamic   Java   applications
(developerWorks,September   2005)   introduces   a   groundbreaking   approach   to
creating dynamic Web application experiences that solve the page-reload dilemma.
•   Ajax   for   Java   developers:   Java   object   serialization   for   Ajax
(developerWorks,   October   2005)   shows   you   five   ways   to   serialize   data   in  Ajax
applications.
•   Using   Ajax   with   PHP   and   Sajax   (developerWorks,   October   2005)   is   a
tutorial for
those interested in developing rich Web applications that dynamically update
content using Ajax and PHP.
• Call SOAP Web services with AJAX, Part 1: Build the Web services client
(developerWorks, October 2005) shows how to implement a Web
browser-based SOAP Web services client using the Ajax design pattern.
• XML Matters: Beyond the DOM (developerWorks, May 2005) details the
Document Object Model as a method to build dynamic Web applications.
•   Build   apps   with   Asynchronous   JavaScript   with   XML,   or   AJAX
(developerWorks,   November   2005)   demonstrates   how   to   construct   real-time-
validation-enabled
33 Web applications with AJAX.
•   Ajax   for   Java   developers:   Ajax   with   Direct   Web   Remoting
(developerWorks,
November 2005) demonstrates how to automate the heavy-lifting of AJAX.
• The OSA Foundation has a wiki that surveys AJAX/JavaScript libraries.
•   XUL   Planet's   object   reference   section   details   XMLHttpRequest   (not   to
mention   all   kinds   of   other   XML   objects,   as   well   as   DOM,   CSS,   HTML,   Web
Service,   and   Windows   and   Navigation   objects.   ibm.com/developerWorks
developerWorks®
• See one of the outstanding Ajax applications online at Flickr.com.
• GMail, from Google, is another great example of Ajax revolutionizing Web
applications.
•   Head   Rush  Ajax   (O'Reilly   Media,   Inc.,   February   2006)   takes   the   ideas
outlined  in   this   article   and  series   and  brings   them   (and   a  lot   more)   to   you  in   the
innovative and award-winning Head First format.
•   JavaScript:   The   Definitive   Guide   ,   4th   Edition   (O'Reilly   Media,   Inc.,
November
2001)   is   a   great   resource   for   the   JavaScript   language   and   working   with
dynamic
34
Sotib olish
  • O'xshash dokumentlar

  • Ona tili darslarida oʻquvchi tasavvurini rivojlantirish metodikasi. 5-sinf
  • 3-sinfda ona tili va o’qish savodxonligi darslarida o’quvchilarning yozuv malakalarini shakllantirish usullari.
  • Boshlangʻich sinf oʻquvchilarining ijodiy fikrlashini rivojlantirishni STEAM taʼlimi orqali amalga oshirish usullari kurs ishi
  • Elektron darsliklar va ularga qo‘yiladigan talablar
  • 1–2-sinf o‘quvchilarining matematik madaniyatlarini shakllantirish

Xaridni tasdiqlang

Ha Yo'q

© Copyright 2019-2025. Created by Foreach.Soft

  • Balansdan chiqarish bo'yicha ko'rsatmalar
  • Biz bilan aloqa
  • Saytdan foydalanish yuriqnomasi
  • Fayl yuklash yuriqnomasi
  • Русский