Created
April 4, 2017 13:35
-
-
Save dimitriipro/17b87c2d9816c9d39032e1f732ce4356 to your computer and use it in GitHub Desktop.
Пример из документации с коментариями
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<? | |
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")); | |
/*делаем запрос и передаем полученный результат в фукцию DEMOResponse */ | |
BX.ajax.loadJSON( | |
'<?=$APPLICATION->GetCurPage()?>?ajax_form=<?=$sidAjax?>', | |
DEMOResponse | |
); | |
} | |
function DEMOResponse (data){ | |
BX.debug('AJAX-DEMOResponse ', data); | |
/*запихиваем что у нас в data.RESULT в элемент с id block*/ | |
BX("block").innerHTML = data.RESULT; | |
BX.show(BX("block")); | |
BX.hide(BX("process")); | |
/* сообщаем о нашем событии */ | |
BX.onCustomEvent( | |
BX(BX("block")), | |
'DEMOUpdate' | |
); | |
} | |
BX.ready(function(){ | |
/* | |
*/ | |
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");?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment