如何在thymelaf和javascript代码中转义单引号
how to escape single quote in thymeleaf and javascript code
我需要使用javascript更新html DOM,方法是插入一个链接,当用户单击Thymelaf模板中的链接时,该链接将调用javascript函数。
$.ajax({
type: "GET",
beforeSend: function(xhrObj){
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Accept","application/json");
},
url: "/users/list",
dataType:"json",
success: function( data, textStatus, jqXHR){
var table = $("#userlist").children();
for(i in data){
table.append("<tr><td><a onclick='user_see("+data[i].userId+")' th:href='#'>"+data[i].userId+"</a></td><td>"+data[i].firstName+"</td><td>"+data[i].lastName+"
}
}
});
事实证明,Thymelaf用双引号取代了单引号。我曾尝试用"''"来转义单引号,但当页面加载时,我只会出现Thymelaf解析错误
2014年10月30日星期四17:55:21 EAT出现意外错误(类型=内部服务器错误,状态=500)。异常解析文档:template="users/list",
我怎样才能避开单引号?
最安全的方法不是将HTML附加为字符串,而是使用DOM API。它更冗长,但避免了引用问题:
data.forEach(function(datum) {
var tr = document.createElement('tr');
var td = document.createElement('td');
var a = document.createElement('a');
a.onclick = function() { user_see(datum.userId); };
a.setAttribute('th:href', '#');
a.innerHTML = datum.userId;
tr.appendChild(td);
td = document.createElement('td');
td.innerHTML = datum.firstName;
tr.appendChild(td);
td = document.createElement('td');
td.innerHTML = datum.lastName;
tr.appendChild(td);
table.appendChild(tr);
}
相关文章:
- 将jQuery节点转义为文本,以便HTML代码可见
- HTML标记只能在代码中转义,而有些标记不能转义
- 解码或转义字符串中的十六进制代码编号
- 在 PHP 中使用邮件函数时正确转义 JavaScript 文档代码中的特殊字符
- HTML源字段还将HTML代码更改为转义字符
- 如何在thymelaf和javascript代码中转义单引号
- 使用Angular对HTML中的代码进行转义
- 正则表达式文本中的Unicode代码点转义-Javascript
- 使用javascript构建html代码时转义特殊字符
- 我如何解码转义unicode javascript代码在Python
- 在JavaScript中转义PHP代码
- 为PHP输出转义Javascript代码块和函数
- 在php中转义此javascript代码
- 如何使用js来反转义代码html
- 在需要搜索和替换的代码中转义括号(Sublime Text2)
- JavaScript中的转义字符在PHP Wordpress短代码中运行
- javascript代码中的转义字段html
- 谷歌代码美化-如何修复SQL转义字符
- 如何用javascript在echo中转义php代码
- 防止asp.net中的javascript代码转义