2015-03-03 3 views
0

Привет, у меня есть адрес электронной почты в моей базе данных, например, «[email protected]», и когда я его получаю, я получаю то же самое на своем контроллере, а затем возвращаю этот объект клиенту, но когда i предупреждает это значение на моей странице сценария java, «@» преобразуется в некоторые случайные символы и не дает правильного отображения. Как я могу это решить??json преобразование символов в случайные символы

код сервера:

enter code here 

public AppUser findById(@FormParam("employeeId") String eId){ 

     int id=Integer.parseInt(eId); 
     AppUser appUser=null; 
     appUser= evaluatorService.findById(id); 
     return appUser; 
    } 

при отладке appUser это дает мне правильные данные.

мой стороне клиента код:

$.ajax({ 
    type : 'GET', 
    url : 'rest/evaluator/fetchEvaluatorById', 
    data : { 

    'employeeId' : employeeId 
    }, 
    success : function(data) { 
    $('#evaluatorDetailEdit').dialog({ 
     width: 400, 
      height: 400, 
    }); 
    alert(data.email); 


    $('#employeeId').val(data.employeeId); 
    $('#name').val(data.name); 
    $('#lastName').val(data.lastName); 
    $('#email').val(data.email); 


    } 
    }); 
+0

Какого рода случайный персонаж? –

+0

«[email protected]» это мой фактический адрес электронной почты в базе данных, и я получаю «n @ yash.com» –

+1

Это не «случайный символ». Это кодировка HTML для специальных символов. –

ответ

2

Существует несколько Hacky JQuery-обходной путь - может быть, есть более эффективные решения, но это должно работать:

var original = "@"; 
 
alert("Original: " + original); 
 

 
// Hacky jquery-workaround: 
 
// 1. pasting encoded text as html in a "virtual" textarea and 
 
// 2. get the decoded text: 
 
var decoded = $('<textarea/>').html(original).text(); 
 
alert("Decoded: " + decoded);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

1

По вашему комментарию, каждый @ являются изменение &#x40;. Фактически, &#x40; является объектом HTML для представления символа &#x40;.

Вы должны преобразовать (декодирование объекта HTML) символ на вашем сервере. Например, в PHP, просто вызовите эту функцию на вашей электронной строки: http://php.net/manual/en/function.html-entity-decode.php

Смежные вопросы