Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Вернуть текстовое значение ajax

00 голосов
1
Вобщем есть обработчик который должен вернуть текстовое значение $bookmarkstext. Код обработчика
Код
<?
$price_id = $_GET['price_id'];
$price_id=(int)$price_id;
$output = array();
$data = !empty($_COOKIE['products']) ? unserialize($_COOKIE['products']) : array();
if ($price_id)
$bookmarkstext="0";
{
$key=array_search($price_id,$data);
if($key!== false)
{unset($data[$key]);
$bookmarkstext="добавить в закладки";
}
else
    {$data[]=$price_id;
$bookmarkstext="удалить закладку";
    }; 
}
print_r($data);
setcookie('products', serialize($data), time() + 172800, "/", '', false, true);
echo $bookmarkstext;
echo json_encode($bookmarkstext);
?>

Он должен вернуть значение в див с .red. вот код на странице
Код
<script type="text/javascript">
$('.red').click(function()
      {
         var price_id = $(this).parent().find('.price_id').text();
         $.ajax({url:'/test/index.php',
            data: ({price_id:price_id}),
            dataType: 'json',
                                success: function (html)
            {
               $('.red').html($bookmarkstext);
            }

         });
         return false;
      });
</script>

Я явно что-то путаю с параметрами success, но что именно понять не могу и нормального примера найти тоже. Подскажите пожалуйста выход. Заранее спасибо
спросил 11 Март, 13 от XIDAN (620 баллов)

1 Ответ

00 голосов
Если библиотеками Битрикса то можно как пример

Файл index.php
Код
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?>
<script src="/bitrix/js/main/cphttprequest.js?<?=rand(0,55555555)?>"></script>
<script>
   function ShowResult(data)
   {
        document.getElementById('test').innerHTML   =   data;
   } 
   function test_start()
   {
      var TID = CPHttpRequest.InitThread(); 
      CPHttpRequest.SetAction(TID, ShowResult); 
      CPHttpRequest.Send(TID, '/ajax.php', {"search":"АБВ", "params":"456"});
   }
</script>

<a onclick="javascript:test_start()">Test</a>
<div id="test"></div>

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>


Файл ajax.php
Код
<?
   Define("STOP_STATISTICS", true);
   require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
   echo   CUtil::PhpToJSObject($_REQUEST['search']).' - '.CUtil::PhpToJSObject($_REQUEST['params']);
?>
ответил 11 Март, 13 от WETERa (800 баллов)

Похожие вопросы

0 голосов
6 ответов
спросил 06 Июль, 13 от XIDAN (620 баллов)
0 голосов
3 ответов
0 голосов
1 ответ
спросил 12 Июль, 13 от XpoHo3aBp (860 баллов)
0 голосов
6 ответов
спросил 29 Сен, 13 от ElfRanger (140 баллов)
0 голосов
1 ответ