我从angular 2和typeScript开始工作,都很好用,但是当我在控制台日志中使用rest api(POST)时,我得到了Response {_body: "", status: 204, statusText: "Ok", headers: Headers, type: 2… }
,尽管我通过了真正的登录参数,但这是我的代码
authentification(){
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
// headers.append('Content-Type', 'application/json');
return this.http.post(this._postUrl,JSON.stringify({username:"abc",password:"abc"}),{headers:headers});
}
这是我的网络服务
@POST
@Path("/admin")
@Consumes("application/x-www-form-urlencoded")
public User getDate(@HeaderParam("username")String username,@HeaderParam("password")String password) throws Exception{
try {
String passwordC = AESCrypt.encrypt(password);
User u = userService.login(username, passwordC);
return u;
} catch (Exception e) {
return null;
}
}
我认为我的Web服务参数中的字符串和角度参数中的问题是json,
任何人都可以帮助我,谢谢。
对于表单编码的内容类型,您需要以键=值对的查询字符串格式发送数据。您可以借助URLSearchParams
来自http
模块的类来构建此字符串。在您的情况下,它可能看起来像这样:
authentification() {
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
var params = new URLSearchParams();
params.append('username', 'abc');
params.append('password', 'abc'); // .toString() => username=abc&password=abc
return this.http.post(this._postUrl, params.toString(), {headers});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句