Была аналогичная проблема на старом шаблоне sale.order.ajax. В моем случае к строке ответа [CODE]{"success":"Y","redirect":"\/personal\/order\/make\/?ORDER_ID=832"}
[/CODE]Добавлялась строчка [CODE]<sc ript type="text/javascript" async="" src="//cdn-vk.com/js/vk.js?v=2"></sc ript>[/CODE]В итоге в скрипт возвращались объединенные данные
[CODE]{"success":"Y","redirect":"\/personal\/order\/make\/?ORDER_ID=832"}<sc ript type="text/javascript" async="" src="//cdn-vk.com/js/vk.js?v=2"></sc ript>[/CODE]Отчего парсер ломался. Откуда берется этот скрипт мне неведомо, но временно решил проблему модификацией функции ajaxResult() в файле template.php. В обработчике ошибок catch вместо[CODE]BXFormPosting = false;
BX('order_form_content').innerHTML = res;
<?if(CSaleLocation::isLocationProEnabled()):?>
BX.saleOrderAjax.initDeferredControl();
<?endif?>[/CODE]написал:[CODE]if(res.indexOf('success') != -1){//Проверяем есть ли в строке параметр success
var link = res.split('"}')[0].split('redirect":"')[1]; //Вырезаем все, что между redirect":" и "}
link = link.replace(/\\/g , ''); //Вырезаем обратные слеши и получаем исходный урл
window.top.location.href = link; //Делаем редирект
}else{
BXFormPosting = false;
BX('order_form_content').innerHTML = res;
<?if(CSaleLocation::isLocationProEnabled()):?>
BX.saleOrderAjax.initDeferredControl();
<?endif?>
}[/CODE]
[/CODE]Добавлялась строчка [CODE]<sc ript type="text/javascript" async="" src="//cdn-vk.com/js/vk.js?v=2"></sc ript>[/CODE]В итоге в скрипт возвращались объединенные данные
[CODE]{"success":"Y","redirect":"\/personal\/order\/make\/?ORDER_ID=832"}<sc ript type="text/javascript" async="" src="//cdn-vk.com/js/vk.js?v=2"></sc ript>[/CODE]Отчего парсер ломался. Откуда берется этот скрипт мне неведомо, но временно решил проблему модификацией функции ajaxResult() в файле template.php. В обработчике ошибок catch вместо[CODE]BXFormPosting = false;
BX('order_form_content').innerHTML = res;
<?if(CSaleLocation::isLocationProEnabled()):?>
BX.saleOrderAjax.initDeferredControl();
<?endif?>[/CODE]написал:[CODE]if(res.indexOf('success') != -1){//Проверяем есть ли в строке параметр success
var link = res.split('"}')[0].split('redirect":"')[1]; //Вырезаем все, что между redirect":" и "}
link = link.replace(/\\/g , ''); //Вырезаем обратные слеши и получаем исходный урл
window.top.location.href = link; //Делаем редирект
}else{
BXFormPosting = false;
BX('order_form_content').innerHTML = res;
<?if(CSaleLocation::isLocationProEnabled()):?>
BX.saleOrderAjax.initDeferredControl();
<?endif?>
}[/CODE]