Обращение к кастомному макросу средствами AJAX производится через протокол /udata/custom/ . Разберем простой пример сложения двух чисел в кастомном макросе (данные будут переданы через AJAX).
Итак в файле /classes/modules/custom.php пишем новую функцию:
public function ajaxTest(){
$result = $_POST['param1'] + $_POST['param2'];
echo $result;
exit();
}
Далее пишем JS код для отправки данных макросу (я работаю с jQuery)
function sendData() {
$.post(
"/udata/custom/ajaxTest", //Пусть к макросу
{
param1: 10, //Передаваемые параметры
param2: "4"
},
onSuccess //Функция которая будет выполнена по завершению запроса
);
function onSuccess(data) //Сама функция
{
alert("Сумма: " + data);
}
};
И соответственно HTML код для вызова функции
<a href="#" onclick="sendData()">Ткни меня!</a>
P.S. надеюсь информация будет кому-то полезна ;)