如何在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。

 

 

 

 

 

Thymeleaf是一个服务器端的Java模板引擎,如果你想在Thymeleaf使用Ajax,可以按照以下步骤进行操作: 1. 引入jQuery库 在你的HTML文件,需要引入jQuery库,因为我们使用jQuery来发送Ajax请求。你可以使用如下代码将jQuery库引入: ```html <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> ``` 2. 编Ajax请求页面添加一个按钮或其他元素,并为其添加一个点击事件。当点击该按钮时,会发送Ajax请求,并将响应数据渲染到页面上。 ```html <button id="btn">点击我发送Ajax请求</button> <div id="result"></div> <script> $(function () { $('#btn').click(function () { $.ajax({ url: '/url', type: 'POST', data: {param1: 'value1', param2: 'value2'}, success: function (data) { $('#result').html(data); } }) }); }); </script> ``` 这里我们使用了jQuery的`ajax`方法,发送了一个POST请求,并将参数传递到服务器。当请求成功时,将响应数据渲染到页面上。 3. 处理Ajax请求 在服务器端,需要处理Ajax请求并返回响应数据。你可以使用Spring MVC或其他框架来处理Ajax请求。 ```java @PostMapping("/url") @ResponseBody public String handleAjaxRequest(@RequestParam String param1, @RequestParam String param2) { // 处理请求 return "响应数据"; } ``` 这里我们使用了Spring MVC的`@PostMapping`注解,表示处理POST请求。使用`@RequestParam`注解来获取请求参数,并使用`@ResponseBody`注解将返回值转换为JSON格式的数据,发送给客户端。 通过以上步骤,你就可以在Thymeleaf使用Ajax了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值