1、使用RESTful风格处理delete请求方式的表单时
<a @click="deleteEmployee" th:href="@{'/employee/'+${employee.id}}">delete</a>
<a href="">update</a>
</td>
</tr>
</table>
<form id="delete_from" method="post">
<input type="hidden" name="_method" value="delete">
</form>
<!--引入vue.js-->
<script type="text/javascript" th:src="/static/js/vue.js"></script>
<script type="text/javascript">
//创建vue对象
var vue = new Vue({
el: "#dataTable",
methods: {
//event表示当前事件
deleteEmployee: function (event) {
//根据id获取表单元素
let deleteFrom = document.getElementById("delete_from");
//将触发点击事件的超连接的href属性赋值给表单的action
deleteFrom.action = event.target.href;
//提交表单
deleteFrom.submit();
//取消超链接的默认行为
deleteFrom.preventDefault();
}
}
});
</script>
- 当写完delete单机事件时,启动服务器会出现
HTTP Status 405 - Request method 'GET' not supported
type Status report
message Request method 'GET' not supported
description The specified HTTP method is not allowed for the requested resource.
Apache Tomcat/8.0.50
以上错误时,说明我们在表单设置的delete请求没有发送,需要重新打包maven,但是还是报了405的错误
这时候我们在springMVC的配置文件中加上这一句
<!--开放对静态资源的访问-->
<mvc:default-servlet-handler/>
- vue.js静态资源是先被springMVC先解析的,当找不到时,才会让默认的servlet来解析,找到了就执行,找不到就会报
17:19:07.592 [http-apr-8080-exec-86] DEBUG org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - Mapped to org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler@228ffd79
17:19:07.594 [http-apr-8080-exec-86] DEBUG org.springframework.web.servlet.DispatcherServlet - Completed 404 NOT_FOUND
- 这是日记模式,当开发了对静态资源的访问时,就会执行成功
- 如下】
删除成功