我的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
我该怎么做?请帮忙......
答案 0 :(得分:0)
很奇怪。可能你的回复中有一些隐藏的字符?无论如何,您可以尝试用br标签替换换行符:
function fillDataChartData(dataVAR) {
var chartdata = dataVAR.replace(/\\n/gm, '<br>');
alert("chartdata = "+chartdata);
}