Ajax中的url属性通过thymeleaf解析

本文介绍了如何在JavaScript中使用Thymeleaf的内联模式,并提供了两种实现方式:一种通过动态获取baseURL进行AJAX请求,另一种直接使用模板表达式。注意可能遇到的编译器错误及其解决方案。

在js中如果想使用Thymeleaf,必须要在<script>中加入th:inline="javascript"属性值表示可以使用内联 js ,即可以在 js 代码中使用 [[]] 取值,否则报错。

即能够可靠的实现:
<script type="text/javascript" th:inline="javascript"></script>

实现方法1:

<script type="text/javascript" th:inline="javascript">
        /*<![CDATA[*/
        var basePath = 
        	[[${#httpServletRequest.getScheme() + 
        	"://" + 
        	#httpServletRequest.getServerName() + 
        	":" + 
        	#httpServletRequest.getServerPort() + 
        	#httpServletRequest.getContextPath()}]];
 
        $(document).ready(function () {
            $.ajax({
                type: 'post',
                dataType: 'text',
                
                url: basePath + '/index/ajaxtest',
                
                data: {},
                cache: false,
                async: true,
                success: function (data) {
                    var data = eval('(' + data + ')');
                    $('#idUser').text(data.name);
                    $('#idMsg').text(data.msg);
                }
            });
        });
 
        /*]]>*/
    </script>

实现方法2:
使用 url:[[@{/index/ajaxtest}]]这样就可以,不用那样获取basePath。
试用这种方法编译器可能会报错,但是可以忽略此错误,直接运行即可。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值