GET-запросы. Метод get

Последнее обновление: 1.11.2015

Метод get осуществляет GET-запрос к серверу, то есть все данные запроса передаются в строке запроса. Он принимает следующие параметры:

  • url: обязательный параметр, содержащий адрес ресурса, к которому будет обращаться запрос

  • data: необязательный параметр, содержащий простой объект javascript или строку, которые будут отправлены на сервер вместе с запросом

  • success(data, textStatus, jqXHR): необязательный параметр - функция обратного вызова, которая будет выполняться при успешном выполнении запроса. Она может принимать три параметра: data - данные, полученные с сервера, textStatus - - статус запроса и jqXHR - специальный объект jQuery, который представляет расширенный вариант объекта XMLHttpRequest.

  • dataType: необязательный параметр, содержащий тип данных в виде строки, например, "xml" или "json"

На выходе метод get возвращает объект jqXHR, который будет инкапсулировать данные запроса. Позднее мы подробнее разберем этот объект.

Итак, перепишем пример из предыдущего параграфа с использованием метода get:

$(function(){
	$('button').click(function(){
		$.get('ajax.php', function(data) {
				$('#news').html(data);
				alert('Данные заружены');
		});
	});
});

Здесь использованы два первых параметра: адрес ресурса и функция обратного вызова. В этой функции в качестве параметра data мы получаем принятые от сервера данные и загружаем их в качестве разметки в элемент выборки ($('#news').html(data);). По сути то же самой мы могли бы сделать с помощью метода load.

Отправка данных

Используя параметр data, мы можем отправить дополнительные данные. Например, можно отправить запрос на получение элемента из базы данных по id:

$.get('ajax.php', { id: "1"});

А поскольку в GET-запросе все данные передаются в строке запроса, то данный код будет аналогичен следующему:

$.get('ajax.php?id=1');

Соответственно на стороне сервера мы сможем получить этот параметр и произвести с ним какие-либо действия, например, получить элемент из бд по данному id:

<?php
	$id=$_GET['id'];
?>

Использование типа данных

Нередко возникает такая ситуация, когда сервер отправляет данные в определенном формате, например, json или xml. Так, php-файл на стороне сервера мог бы выглядеть следующим образом:

<?php
	echo json_encode(array("event"=>"Начало чемпионата России","date"=>"13.07.2013")); 
?>

В данном случае он возвращает объект json. Тогда на клиентской стороне мы можем явно прописать тип данных, а в функции обработать принятые данные:

$.get('ajax.php', 
	function(data) {
			$('#news').empty().append("<h3>"+data.event+"</h3><h5>"+data.date+"</h5>");
	}, 
	'json');
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850