th:attr="data-params='{url:\'api/module/appId?appId='+${appId}+'\',dataName:\'module\'}'">
data-params应该是一个Json对象,我可以使用JSON.parse()。而JSON.parse()需要这样的Json对象{url: "/api/role/app?appId=d73ed474fca942609133b915c5da6d2a", dataName: "role"}
th:attr
获取"{url:'api/module/appId?appId=d73ed474fca942609133b915c5da6d2a',dataName:'module'}"
这是一个问题:我如何使用th:attr
来获得正确的Json对象?
答案 0 :(得分:1)
使用"
转义双引号对我有用:
<span id="test" th:attr="data-params='{"url":"api/module/appId?appId='+${appId}+'","dataName":"module"}'" />
测试:
<script>
var json = $('#test').attr("data-params");
console.log(json);
console.log(JSON.parse(json));
</script>
Chrome和Firefox都在开发者日志中正确输出:
{"url":"api/module/appId?appId=null","dataName":"module"}
Object { url: "api/module/appId?appId=null", dataName: "module" }