2015-03-03 69 views
0

嗨,我的電子郵件地址在我的數據庫中,例如「[email protected]」,當我檢索到它時,我在控制器上獲得相同的結果,然後將該對象返回給客戶端,我警告我的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

它是什麼樣的隨機字符? – 2015-03-03 12:25:28

+0

「[email protected]」這是我在數據庫中的實際電子郵件ID,我正在收到「n @ yash.com」 – 2015-03-03 12:28:13

+1

這不是一個「隨機字符」。它是特殊字符的HTML編碼。 – 2015-03-03 12:36:40

回答

2

有一些哈克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;是代表字符&#x40;的HTML實體。

您應該將(HTML實體解碼)轉換爲服務器上的字符。 例如,在PHP中,只需調用這個函數您的電子郵件字符串:http://php.net/manual/en/function.html-entity-decode.php