gpt4 book ai didi

javascript - 将\n 换行符转换为 HTML
换行符

转载 作者:行者123 更新时间:2023-11-27 23:27:05 25 4
gpt4 key购买 nike

我有一个简单的想法来转换我的 \n我的 ajax JSON 调用中的换行符 <br>这样它就能正确显示我的数据。

我尝试了许多不同的方法来执行转换,但我不断收到错误消息:

Uncaught TypeError: data.replace is not a function

The issue seems to be the way I'm making this call:

var incident = incident.replace(/\n/g, "<br />");

从我在论坛上看到的来看,这就是我们应该使用.replace的方式但我不明白为什么它不喜欢它。

我也尝试这样做:

"<td colspan='3'>"+incident.Impact.replace(/\n/g, "<br />")+"</td>"+

这有效,但如果该字段为空,则会返回错误,指出无法读取 .replace未定义的。有人有什么想法吗?

完整代码:

$.ajax({
url: this.basePath() + '/GDI_PROD_Incidents?$filter=ÉtatValue%20ne%20%27Fermé%27&$orderby=PrioritéValue desc',
dataType: 'json',
cache: false,
success: function (data) {

$.each(data.d.results, function (index, incident) {
var incident = incident.replace(/\n/g, "<br />");

$('body').append(

"<table border='1' width='800' >"+
"<tr bgcolor='#9aff99' align='center'>"+
"<td width='800px' colspan='4'><strong>Transfert de connaissances</strong></td>"+
"</tr>" +
"<tr bgcolor='#fff'>"+
"<td width='165'>Billet:</td>"+
"<td>"+incident.Incident+"</td>"+
"<td width='165'>Priorité:</td>"+
"<td>"+incident.PrioritéValue+"</td>"+
"</tr>"+
"<tr bgcolor='#fff'>"+
"<td width='165'>Description:</td>"+
"<td colspan='3'>"+incident.Description+"</td>"+
"</tr>"+
"<tr bgcolor='#fff'>"+
"<td colspan='4' width='800px' bgcolor='#9aff99' align='center'>Détails</td>"+
"</tr>"+
"<tr bgcolor='#fff'>"+
"<td width='165'>Impact:</td>"+
"<td colspan='3'>"+incident.Impact+"</td>"+
"</tr>"+
"<tr bgcolor='#fff'>"+
"<td width='165'>Dépannage</td>"+
"<td colspan='3'>"+incident.Dépanage+"</td>"+
"</tr>"+
"<tr bgcolor='#fff'>"+
"<td colspan='4' width='800px' bgcolor='#9aff99' align='center'>Suivi</td>"+
"</tr>"+
"<tr bgcolor='#fff'>"+
"<td width='165'>Prochain Suivi:</td>"+
"<td colspan='3'>"+incident.Suivi+"</td>"+
"</tr>"+
"<tr bgcolor='#fff'>"+
"<td width='165'>Ressource:</td>"+
"<td colspan='3'>"+incident.Ressources+"</td>"+
"</tr>"+
"<tr bgcolor='#fff'>"+
"<td width='165'>Prime:</td>"+
"<td colspan='3'>"+incident.ResponsableValue+"</td>"+
"</tr>"+
"</table>"+
"<br><br>");

})

}
});

最佳答案

您正在尝试对对象使用字符串方法,而不是对该对象内的属性值使用字符串方法。

没有Object.replace(),因此会抛出错误

同样undefined.replace()也会导致错误

大概您只需要修复一些属性值,但首先有必要在使用 replace() 之前确保这些值已定义并且是字符串

尝试

function convertBreak(str){
if(!str){
return ''; // don't want `undefined` printing into page
}
// if it's something other than string, return it as is
if( typeof str !=== 'string'){
return str;
}else{
return str.replace(/\n/g, "<br />")
}
}

incident.Description = convertBreak(incident.Description);

关于javascript - 将\n 换行符转换为 HTML <BR> 换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34880008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com