За последние 24 часа нас посетили 15225 программистов и 1671 робот. Сейчас ищут 805 программистов ...

как обработать данные от аякса в java на стороне клиента

Тема в разделе "JavaScript и AJAX", создана пользователем SkAndriy, 3 июн 2011.

  1. SkAndriy

    SkAndriy Активный пользователь

    С нами с:
    3 июн 2011
    Сообщения:
    1
    Симпатии:
    0
    добрый день,

    прошу помощи в следующем вопросе:

    есть путь к языковым файлам, обрабатывая аякс я получаю правильный ответ и в контент загружется если сделать echo $lan все отлично через ajax, а вот глобально переключится на новый языковой модуль не получается.

    код

    файл en.php :
    PHP:
    1. define('STRING_WELCOME', 'Welcome!');
    файл ru.php :
    PHP:
    1. define('STRING_WELCOME', 'Добро пожаловать!');
    файл index.php:
    PHP:
    1.  
    2. <script type="text/javascript">
    3.           //$(document).ready(function(){
    4.              $(function(){
    5.                 $('a.lan-poster').click( function() {
    6.                   var value = $(this).data('value');
    7.                   $.ajax({
    8.                      url: 'ajax-lan.php',
    9.                      type: 'GET',
    10.                      ache: false,
    11.                      data:({ lan: value }),
    12.                      success: function(data) {                                           
    13.                                  $('#content-lan').html(data);                                                         
    14.                                  alert(data);                      
    15.                               }
    16.                   });
    17.                   return false;
    18.                })
    19.              });
    20.          // });
    21.         </script>
    22.        
    23.         <div>        
    24.           <p>referensies:
    25.             <a data-value="ru" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>">ru</a>
    26.             <a data-value="en" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>">en</a>
    27.             <a data-value="ua" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>">ua</a>
    28.           </p>
    29.          </div>
    30.          
    31.  
    32.        
    33.         <div id="content-lan"></div>
    34.        
    35.         <?php
    36.            $str = STRING_WELCOME;
    37.            echo $str;
    38.         ?>
    файл ajax-lan.php :

    PHP:
    1.   <?php
    2.      
    3.      $lan = isset($_GET['lan']) ? $_GET['lan'] : 'ru';
    4.      include_once('translation/'.$lan.'.php');
    5.      
    6.   ?>
    мне нужно подключить нужный языковой файл с помощью ajax и чтобы его константы были видны на всех страницах включая index.php, но пока это не удается.

    кстати путь к языковому файлу получаю правильный и контент загружется если сделать echo $lan все отлично через ajax, а вот глобально переключится на новый языковой модуль не получается.

    вот так работает, только если страницу перезагружаешь:

    PHP:
    1.  
    2.  
    3. <div>        
    4.           <p>referensies:
    5.             <a data-value="ru" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>"><?php if(!empty($_GET['lan']) && ($_GET['lan'] == 'ru')) include("translation/ru.php"); ?>ru</a>
    6.             <a data-value="en" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>"><?php if(!empty($_GET['lan']) && ($_GET['lan'] == 'en')) include("translation/en.php"); ?>en</a>
    7.             <a data-value="ua" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>"><?php if(!empty($_GET['lan']) && ($_GET['lan'] == 'ua')) include("translation/ua.php"); ?>ua</a>
    8.           </p>
    9.          </div>

    а хотелось бы без перезагрузки.

    может как-то плюс javascript. если можно небольшой пример.

    в моем примере аякс работает прекрасно и все передается и принимается, вот мне кажется только не хватает javascript на стороне клиента, который бы принял от аякса нужное значение и включил бы требуемый файл. моя логика верна? но я очень слабо знаю java и прошу помощи как построить примерный обработчик подгрузки файлов языковых php на стороне клиента по ответу/запросу аякс.

    Может как-то так:

    [js]<script type="text/javascript">
    function JavaInclude(id) {
    и как-то здесь обработать идентификатор ссылки и подключить нужный файл,
    а в качестве идентификатора, например взять data-value
    }
    </script>[/js]


    PHP:
    1. <div>        
    2.           <p>referensies:
    3.             <a data-value="ru" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>" onClick="JavaInclude(ru); return false;">ru</a>
    4.             <a data-value="en" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>" onClick="JavaInclude(ru); return false;">en</a>
    5.             <a data-value="ua" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>" onClick="JavaInclude(ru); return false;">ua</a>
    6.           </p>
    7.          </div>

    например так не работает:



    PHP:
    1. <script type="text/javascript">
    2.           //$(document).ready(function(){
    3.              $(function(){
    4.                 $('a.lan-poster').click( function() {
    5.                   var value = $(this).data('value');
    6.                   $.ajax({
    7.                      url: 'ajax-lan.php',
    8.                      type: 'GET',
    9.                      ache: false,
    10.                      data:({ lan: value }),
    11.                      success: function(data) {                                           
    12.                                  $('#content-lan').html(data);                                                         
    13.                                  alert(data);                      
    14.                               }
    15.                   });
    16.                   return false;
    17.                })
    18.              });
    19.          // });
    20.         </script>
    21.  
    22. <script type="text/javascript">
    23.           $(document).ready(function(){
    24.              function JavaInclude(id) {
    25.                 if (id == 'ru') <?php include("translation/ru.php"); ?>
    26.                 else
    27.                 if (id == 'en') <?php include("translation/en.php"); ?>
    28.                 else
    29.                 if (id == 'ua') <?php include("translation/ua.php"); ?>
    30.                 else
    31.                   (id == 'ru') <?php include("translation/ru.php"); ?>
    32.              }
    33.           });
    34.         </script>
    35.        
    36.         <div>        
    37.           <p>referensies:
    38.             <a data-value="ru" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>" onClick="JavaInclude(<?php $_SESSION['lanswitch']; ?>); return false;">ru</a>
    39.             <a data-value="en" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>" onClick="JavaInclude(<?php $_SESSION['lanswitch']; ?>); return false;">en</a>
    40.             <a data-value="ua" class="lan-poster" href="<?php echo $_SERVER['PHP_SELF']; ?>" onClick="JavaInclude(<?php $_SESSION['lanswitch']; ?>); return false;">ua</a>
    41.           </p>
    42.          </div>
    подскажите где у меня ошибка?

    спасибо.