簡體   English   中英

JavaScript變量無法識別換行符

[英]JavaScript variable not recognizing newline character

我的jsp代碼中有兩個Ajax調用,它們都轉到servlet。 在第一個呼叫中,我正在會話中設置一個值,在另一個呼叫中,我正在從會話中檢索相同的值。 現在,該值作為ajax調用(第二個ajax調用)的響應。 我的問題是 :-此值包含“ \\ n”(例如-(“ ABC \\ n def \\ n geh \\ n xyz”))。 當我將此值存儲在js變量中並嘗試訪問它時,它僅將“ \\ n ”作為字符串。 它沒有將其識別為換行符

ajax在jsp中調用:-

$.ajax({
    type : "POST",
    url : "ConfiguratorStatusReportServlet?method=datagrid",
    data : finaldata,
    datatype : "JSON",
    async : false,
    success : function(msg) {       
        $('#contentDiv').show();        
        fillDataGrid(msg);      
    }
});


$.ajax({
    type : "POST",
    url : "ConfiguratorStatusReportServlet?method=chart",
    data : finaldata,
    datatype : "JSON",
    async : false,
    success : function(msg) {
        fillDataChartData(msg);
    }
});

Servlet中的代碼:-

HttpSession session = request.getSession();
String method = request.getParameter("method");
if(method.equalsIgnoreCase("datagrid"))
{
    JSONArray listjson  = CSR.firstcalledMethod();

    String chartformat = CSR.callingMethod2();
    System.out.println("chartformat in servlet = "+chartformat);

    String result = listjson.toString();
    String checkDataExists =  (String) (session.getAttribute("chartformat") == null ? "Invalid" : session.getAttribute("chartformat"));
    if(!checkDataExists.equalsIgnoreCase("Invalid"))
    {
        session.removeAttribute("chartformat");
    }        
    session.setAttribute("chartformat", chartformat);
    out.write(result); 
}
else 
{
    String chartResult = (String) session.getAttribute("chartformat");
    session.removeAttribute("chartformat");
    out.write(chartResult); 
}

現在在包含上面顯示的ajax調用的同一jsp中,我試圖以如下方式訪問變量:

function fillDataChartData(dataVAR) {   
    var chartdata = dataVAR;                
    alert("chartdata = "+chartdata);
}

假設ajax中的響應包含數據“ APAC-OTHER,0.05 \\ n FCS,99.95”(即dataVAR =“ ABC \\ n DEF \\ n GHI”)。 現在,當我嘗試在函數fillDataChartData(dataVAR)中對其進行警報時,它在警報中顯示“ APAC-OTHER,0.05 \\ n FCS,99.95”,但我希望它像APAC-OTHER,0.05 FCS,99.95

我應該怎么做? 請幫忙...

真奇怪。 您的回復中可能包含一些隱藏的字符嗎? 無論如何,您可以嘗試使用br標簽替換換行符:

function fillDataChartData(dataVAR) {   
    var chartdata = dataVAR.replace(/\\n/gm, '<br>');                
    alert("chartdata = "+chartdata);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM