嗨,伙计们,我刚开始和spring boot和web开发人员一起工作。。所以我要做的是检索从客户端发送的数据,并通过json将其发布到我的html中
下面是一些代码:
这是我的javascript
function submitResgister(){
let rese = document.querySelector('.result');
let name = document.querySelector('#regusername');
let password = document.querySelector('#regpassword');
let email = document.querySelector('#regemail');
//XHR
let xhr = new XMLHttpRequest();
let url = "/reg";
xhr.open("POST",url,true);
//set to JSON
xhr.setRequestHeader("Content-Type","application/JSON;charset=UTF8");
//state changecallback
xhr.onreadystatechange = function(){
if(xhr.readyState === 4 && xhr.status === 200){
//print data received from server
rese.innerHTML = this.responseText;
}
}
var data = JSON.stringify({"name": name.value,"password":password.value,"email":email.value });
xhr.send(data);
}
我的索引.html
<form id="regform" method="POST">
<input type="text" id="regusername" class="fadeIn second" name="register" placeholder="username">
<input type="text" id="repassword" class="fadeIn third" name="register" placeholder="password">
<input type="text" id="regemail" class="fadeIn fourth" name="register" placeholder="Email">
<input type="submit" onclick="submitRegister()" class="fadeIn fourth" id="register" value="Submit">
<p class="result"></p>
</form>
我的springboot控制器
@RestController
public class indexController {
@GetMapping(value = "/login")
String goHomepage(HttpServletResponse res) throws IOException{
return ("homepage.html");
}
@PostMapping(value = "/reg", consumes = "application/json", produces = "application/json")
void registeruser(HttpServletResponse res) throws IOException{
}
}
它总是抛出这样一个:
此应用程序没有/error的显式Map,因此您将此视为回退。
sun sep 06 05:38:32出现意外错误(类型=方法不允许,状态=405)。不支持请求方法“post”org.springframework.web.httprequestmethodnotsupportedexception:不支持请求方法“post”
已经试过像这样的 curl 命令了
c:\windows\system32>curl-i-x post-h'内容类型:application/json'-d'{“name”:“galih”,“password”:“asu”,“email”:test@gmail.com"}' http://localhost:8080/注册
curl:(6)无法解析主机:应用程序
curl:(3)[globbing]第40列中的右大括号/方括号不匹配
http/1.1 415
内容类型:application/json
传输编码:分块
日期:2020年9月5日星期六22:59:09 gmt
我在chrome上使用了“f12”来检查这是否正确,但它显示的响应头只允许get和head,内容类型:text/html;字符集=utf8;
请求头内容类型:application/x-www-form-urlencoded
暂无答案!
目前还没有任何答案,快来回答吧!