thymeleaf实现ajax请求的两种方式

简介: thymeleaf实现ajax请求的两种方式

注意,对应的Controller类不能使用@RestController注解。

使用fragment

1、布局中定义fragment和id,定义ajax请求


<body>

...

<div>

<h3>get请求</h3>

<p>

<button onclick="executeGetAjax('眼里有光,心里有梦')" type="button">发起ajax-get请求</button>

</p>

<div th:fragment="get-response" th:id="id-request-get">

<p th:text="${value_get}"></p>

</div>

</div>

<script type="text/javascript">

function executeGetAjax(name) {

<!-- data中传递json对象 -->

$.ajax({

url: '/execute/get-ajax1',

type: 'get',

async: true,

data: {

name

},

dataType: 'text',

success: function (data) {

alert(data);

console.log(data);

$("#id-request-get").html(data);

}

})

};

</script>

</body>

2、WebController中定义对应的ajax请求方法


/**

* ajax请求,get-同步更新页面内容

*

* @param name

* @return

*/

@RequestMapping(value = "/execute/get-ajax", method = {RequestMethod.GET})

public String executeGet(Model model, @RequestParam(value = "name", required = false, defaultValue = "猫了个咪") String name) {

model.addAttribute("value_get", "get ajax response:" + name);

return "request-methods::get-response";

}

具体参考:

https://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#rendering-template-fragments

使用ModelAndView

布局方式同fragment方式,webController方法中有改动:


/**

* 使用 ModelAndView 实现ajax请求

* @param model

* @param name

* @return

*/

@RequestMapping(value = "/execute/get-ajax1", method = {RequestMethod.GET})

public ModelAndView executeGet1(Model model, @RequestParam(value = "name", required = false, defaultValue = "猫了个咪") String name) {

model.addAttribute("value_get", "get ajax response:" + name);

return new ModelAndView("request-methods::get-response");

}

具体参考:

https://stackoverflow.com/questions/20982683/spring-mvc-3-2-thymeleaf-ajax-fragments

项目地址

tinytongtong / spring-thymeleaf

相关文章
|
18天前
|
JSON 前端开发 JavaScript
axios请求成功而$.ajax却不行排错
axios请求成功而$.ajax却不行排错
13 2
|
1月前
|
前端开发
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
|
5月前
|
XML JSON 前端开发
深入了解JavaScript中的AJAX和HTTP请求
深入了解JavaScript中的AJAX和HTTP请求
|
4月前
|
XML JSON 前端开发
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
59 1
|
8天前
|
XML JSON 前端开发
学习Ajax使用异步对象发送请求
Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种用于创建更好、更快以及交互性更强的Web应用程序的技术。
17 3
|
2月前
|
前端开发
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
|
4月前
|
XML JSON 前端开发
|
4月前
|
前端开发 JavaScript
|
4月前
|
JSON 前端开发 安全
浏览器跨域限制:为什么浏览器不能跨域发送Ajax请求?
浏览器跨域限制:为什么浏览器不能跨域发送Ajax请求?
37 0
|
4月前
|
JSON 前端开发 JavaScript
JavaScript学习 -- ajax方法的POST请求
JavaScript学习 -- ajax方法的POST请求
30 0