如何在Thymeleaf中构造ajax请求的url

建立springboot应用时,模板中有一项是thymeleaf,springboot现在也是推荐使用这个,然而并没有时间仔细研究它……

现在的问题是,ajax请求时,如何可靠的构造url?

先说本文的结论,在xxx.html文件中,加入以下的类似代码,必须加上th:inline="javascript" 属性值表示可以使用内联 js ,即可以在 js 代码中使用 [[]] 取值,否则报错。即能够可靠的实现:

<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>

或者是直接 url:/*[[@{/index/ajaxtest}]]*/这样就可以,不用那样获取basePath。

猜你喜欢

转载自blog.csdn.net/usuallyuser/article/details/81165910