9.1 $ obyekti va jQuery'dagi ajax metodi
jQuery'da tarmoqqa ishlash uchun maxsus global obyekt ham bor. O'ylashimcha, bu $ deb ataladi. Ha, shunday oddiy va qulay nom.
Faraz qilaylik, sen JavaScriptingda API'ga so'rov yuborishni va olingan javobni ishlov berishni xohlaysan. Buni quyidagi tarzda amalga oshirishing mumkin:
$.ajax({
type: "POST",
url: "api.javarush.ru",
data: {name: 'Bill', location: 'Radmond'},
success: function(msg){ alert( "Kishi topildi: " + msg ); }
});
Hammasi shu, bu butun kod. $ obyektidan ajax() metodini chaqiramiz va kerakli so'rov va javoblarni tavsiflovchi obyektni uzatamiz.
typemaydoni HTTP-so'rov turi:GETyokiPOSTni belgilaydiurlmaydoni, so'rov jo'natiladiganurlni belgilaydidatamaydoni JSON formatidagi so'rov ma'lumotlarini belgilaydisuccessmaydoni serverdan muvaffaqiyatli javob kelganda chaqirilishi kerak bo'lgan funksiyani belgilaydi.
9.2 Foydali so'rovlar
Agar hech qanday ma'lumot jo'natilishi kerak bo'lmasa, so'rovni yanada qisqaroq yozish mumkin. Masalan, oddiy POST-so'rovni quyidagicha yozish mumkin:
$.post("ajax/test.html", function( data ) { $( ".result" ).html( data ); });
Bilasanmi $( ".result" ).html( data ); kod nima qiladi? Taxmin qilib ko'raylik...
Bu documentdagi result klassiga ega elementni topadi va unga HTML-kodni, ya'ni data ma'lumotlarni qo'shadi. Qisqa qatorlar bilan serverdan ma'lumotlarni yuklab sahifangga qo'shishing mumkin. Axir bu go'zallik emasmikan? :)
GET-so'rovni ham bir nechta qator bilan yozish mumkin:
$.get("ajax/test.html"., function( data ) { $( ".result" ).html( data ); });
Skriptni yuklab va ishga tushirmoqchimisiz?
$.ajax({
method: "GET",
url: "test.js",
dataType: "script"
});
Oxirgi versiyadagi HTML sahifani olishmi?
$.ajax({
url: "test.html",
cache: false
})
.done(function( html ) {
$( "#results" ).append( html );
});
Internetda jQuery haqida juda yaxshi hujjatlar mavjud:
Bundan tashqari, barcha keng tarqalgan savollar Googleda oson topiladi va StackOverflow da mavjud.
GO TO FULL VERSION