Документация для разработчиков
Темная тема

AJAX расширение

Список методов

МетодОписаниеС версии
BX.ajaxНизкоуровневая функция для отправки аяксовых запросов.
BX.ajax.SetupУстанавливает значения по умолчанию для параметров аяксовых запросов.
BX.ajax.getПростая отправка GET-запроса и передача результата обработчику .
BX.ajax.postПростая отправка POST-запроса и передача результата обработчику.
BX.ajax.insertToNodeЗапрашивает данные по указанному адресу и вставляет ответ в указанный контейнер.
BX.ajax.loadЗагружает очередь ресурсов и вызывает обработчик.
BX.ajax.loadJSONЗагружает json-объект из заданного url и передаёт его обработчику.
BX.ajax.loadScriptAjaxЗагружает и выполняет скрипт или серию скриптов.
BX.ajax.runActionМетод для запуска аякс-действий в модуле.
BX.ajax.runComponentActionМетод для запуска аякс-действий в компоненте.

Примеры

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("AJAX");
	CJSCore::Init(array('ajax'));
	$sidAjax = 'testAjax';
if(isset($_REQUEST['ajax_form']) && $_REQUEST['ajax_form'] == $sidAjax){
	$GLOBALS['APPLICATION']->RestartBuffer();
	echo CUtil::PhpToJSObject(array(
		'RESULT' => 'HELLO',
		'ERROR' => ''
	));
	die();
}

?>
<div class="group">
	<div id="block"></div >
	<div id="process">wait ... </div >
</div>
<script>
	window.BXDEBUG = true;
function DEMOLoad(){
	BX.hide(BX("block"));
	BX.show(BX("process"));
	BX.ajax.loadJSON(
		'<?=$APPLICATION->GetCurPage()?>?ajax_form=<?=$sidAjax?>',
		DEMOResponse
	);
}
function DEMOResponse (data){
	BX.debug('AJAX-DEMOResponse ', data);
	BX("block").innerHTML = data.RESULT;
	BX.show(BX("block"));
	BX.hide(BX("process"));

	BX.onCustomEvent(
		BX(BX("block")),
		'DEMOUpdate'
	);
}

BX.ready(function(){
	/*
	BX.addCustomEvent(BX("block"), 'DEMOUpdate', function(){
		window.location.href = window.location.href;
	});
	*/
	BX.hide(BX("block"));
	BX.hide(BX("process"));
   
	BX.bindDelegate(
		document.body, 'click', {className: 'css_ajax' },
		function(e){
			if(!e)
				e = window.event;
         
		DEMOLoad();
		return BX.PreventDefault(e);
		}
	);
   
});

</script>
<div class="css_ajax">click Me</div>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024