提问人:MatildaEliz 提问时间:7/31/2023 最后编辑:Brian Tompsett - 汤莱恩MatildaEliz 更新时间:7/31/2023 访问量:67
不支持方法“GET”
Method 'GET' is not supported
问:
当我提出请求时,我的屏幕上收到了这条消息。我该如何解决这个问题?我不使用任何注释或请求。HTTP POST
GET
HTPP 请求 : http://localhost:9000/user/register?username=a&password=1
控制台错误
无法加载资源:服务器响应状态为 405(不允许方法)
JavaScript的
<script>
document.getElementById("signupbtn").addEventListener("click",function(){
const username = document.getElementById("username").value;
const password = document.getElementById("password").value;
const xhr = new XMLHttpRequest();
xhr.open("POST","http://localhost:9000/user/register?username="+username+"&password="+password);
xhr.send();
})
</script>
控制器
@PostMapping("/register")
ResponseEntity<String> addUser(@RequestParam("username") String username,@RequestParam("password") String password) {
userService.addUser(username, password);
return ResponseEntity.ok("User added succesfully");
}
服务
public void addUser(String username,String password){
userRepository.save(new User(username,password));
}
答:
0赞
Parth KaPatel
7/31/2023
#1
这是REQBIN的解决方案
请参考链接并执行代码并应用到您的项目中
let xhr = new XMLHttpRequest();
xhr.open("POST", "https://reqbin.com/echo/post/json");
let data = {
"Id": 78912,
"Customer": "Jason Sweet",
};
xhr.onload = () => console.log(xhr.status);
xhr.send(data);
1赞
MatildaEliz
7/31/2023
#2
问题是当我发送请求时。这是一个 GET 请求,而不是 POST 。我更改了PostMapping到GetMapping的问题得到了解决。我认为对 POST 和 GET 映射存在误解
0赞
aliboura
7/31/2023
#3
你的代码没有问题,它应该可以工作,除非你在应用程序安全配置中确实有限制,比如 (allowedMethods)
评论