2016-03-24 1 views
1

Я хочу знать, как извлекать данные с карты.Решение изменения языка

У меня есть три кнопки.

Зарегистрируйте, обновите и удалите с страницы Jsp.

Есть два JSP. First.jsp и Second.jsp.

Я включил first.jsp в second.jsp. aaa

Кнопки в second.jsp.

At First.jsp.

У меня есть combobox для изменения языка. Это должен быть язык изменений только при нажатии кнопки.

Есть два языка английский и японский.

Я отправляю API-класс с использованием ajax в соответствии с идентификатором языка. Если id = 1 (японский) и id = 2 (английский).

Я написал ajax api внутри функции изменения combobox. Ниже мой код.

$.ajax({ 
     url : 'aa/idsend', 
     cache : false, 
     type : 'GET', 
     dataType : 'json', 
     contentType : 'application/json; charset=utf-8', 
     data : "lid="+select, 
       success: function(data) { 
       }, 
      }); 

Получаю данные с сервера в следующем формате.

{data = Object {1: "Would you like to register?", 2: "Would you like to update?", 3: "Would you like to delete?"} 

Вышеуказанные данные взяты из базы данных. Если я добавлю новые данные в базу данных, идентификатор станет 4: «что-то есть».

Я хочу знать, как получить эти данные в соответствии с событием нажатия кнопки. Если кнопка регистрации нажата, я хочу взять только регистрационное предложение. Другой тоже такой.

+0

Вы должны отправить такой же способ, как и выше, ajax-вызов, в то время как кнопка регистрации регистратора зарегистрирована с URL-адресом, так что на стороне сервера сервер может знать, что отправить в ответ. –

+0

Почему вы установили 'contentType: 'application/json; charset = utf-8 ', '? Вы делаете запрос GET, в теле запроса нет содержимого для описания типа. – Quentin

+0

«Я получаю данные с сервера в следующем формате» - это сделало бы жизнь намного проще, если бы вы выразили ее в JSON. – Quentin

ответ

0

Это может быть метод GET, но я предпочитаю POST.

function ajaxRequest(dataObj, cbFunc) { 
    $.ajax({ 
     method: 'POST', 
     url: 'aa/idsend', 
     data: dataObj 
    }).done(function(dataFromServer) { 
     cbFunc(dataFromServer); 
    }); 
} 

function useData(dataFS) { 
    //do something with data from server dataFS 
} 

function getCurrentLanguage() { 
    var cL = 'en';//default language 
    //some code to get language from checkboxes 
    return cL 
} 

$('.button').on('click', function(e) { 
    var id = $(this).attr('id'), 
     jsonData = {}, 
     curLang = getCurrentLanguage(); 

    switch (id) { 
     case 'register' : 
      jsonData = {req: 'register', lang: curLang}; 
      break; 
     case 'update' : 
      jsonData = {req: 'update', lang: curLang}; 
      break; 
     case 'delete' : 
      jsonData = {req: 'delete', lang: curLang}; 
      break; 
     default: 
      break; 
    } 

    ajaxRequest(jsonData, useData); 
}); 

Затем в сценарии сервера aa/idsend вы можете подготовить данные для отправки в соответствии с полученной переменной POQ POST. Теперь вам даже не нужно отправлять такие вопросы, как «Хочешь зарегистрироваться?». Вместо этого вы можете выполнить действие в соответствии с значением req и отправить обратно информацию об операции - Успех! или сбой!

+0

Благодарим вас за предложение. Я попробую свой путь. – user3601532