关于ssm项目拦截器拦截post请求
拦截器不能拦截post请求的控制器吗
一
个用来播放直播的播放器
使用的是post请求,
如果登录了就可以正常观看
非登录用户,报错405
- 控制器代码
```java
@RequestMapping("/play")
public String play(String href,
String title,
Model model) {
model.addAttribute("href", href);
model.addAttribute("title", title);
return "live/ckplayer";
}
```
- 前台代码
```js
function submit(href, title) {
var path = "\/springboot\/" + "live/play";
console.log(path)
// 动态表单的创建
var form = document.createElement("form");
form.action = path;
form.method = "post";
input1 = document.createElement("input");
input2 = document.createElement("input");
input1.type = "hidden";
input1.name = "href";
input1.value = href;
input2.type = "hidden";
input2.name = "title";
input2.value = title;
form.appendChild(input1);
form.appendChild(input2);
form.target = '_blank';
document.body.appendChild(form)
console.log(form)
form.submit();
document.body.removeChild(form);
;
}
```
- 未登录状态访问,报错
!(http://yanxuan.nosdn.127.net/67815fdf3c136af5bfd545fe9fb3ba3e.png) 可以拦截 但是post形式的body获取在切面使用一次以后 其他接口再获取会出现无法使用的问题 所以必须经过一层转换以后再读取。
可以参考我的一篇博客,不要完全照抄,因为不是一套东西 但是原理差不多:https://blog.csdn.net/tutian2000/article/details/103729613 孤寂琉璃月 发表于 2020-3-8 14:44
可以拦截 但是post形式的body获取在切面使用一次以后 其他接口再获取会出现无法使用的问题 所以必须经过一 ...
看得不太懂,还没学spring cloud, “因为 由于使用的是html文件, 它不支持响应头带有post的应答包,所以会报错。”
在网上看到的,是这样吗
页:
[1]