Если на странице 2 аяксовых компонента, то отрабатывает первый из них. (Проверялось на корзине и веб формах).
В компоненте корзины
if ($_REQUEST["AJAX_CALL"] == "Y" || $_REQUEST["is_ajax_post"] == "Y") {
die();
}
|
Все что после - идёт лесом.
По идее данные должны соотносится с компонентом, которому они предназначаются.
З.Ы. Я не говрю уже о
preg_match_all('/action=(["\']{1})(.*?)\1/i', $arData[$key], $arAction);
$url = $arAction[2][0];
if ($url === '' || $this->__isAjaxURL($url))
{
$arData[$key] = CAjax::GetForm($arData[$key+1], 'comp_'.$this->componentID, $this->componentID, true, $this->bShadow);
}
else
{
$new_url = str_replace(CAjax::GetSessionParam($this->componentID), '', $url);
$arData[$key] = str_replace($url, $new_url, $arData[$key]);
}
$bDataChanged = true;
|
в CComponentAjax.
В общем возмущению нет предела.
Спрашивается, для чего нужны компоненты, если ничего толком не работает?
З.Ы.Ы Битрикс такой битрикс
почему бы не сделать запрос на отдельную страницу с компонентом?
как собирать данные из 2х компонентов?
BX.ajax.submitComponentForm()
BX.submit()
не учитывается в аяксе ID компонента, а очень нужно перезагружать в шаблоне компонента отдельную область, а не весь его шаблон, до саппорта это так и не дошло, все какие-то отмазки:
- это частная логика... в нашей техподдержке нет на это времени...
Это же АПИ
- нет, это частная логика... разбирайтесь с ней сами...
Но перезагрузить отдельную часть шаблона не получится с этой опцией, перезагружается весь шаблон компонента.