A.k*_*ifa 3 javascript rest typescript angular
我开始使用angular 2和typeScript,一切都很棒,但是当我在控制台日志中使用rest api(POST)时,我得到了Response {_body: "", status: 204, statusText: "Ok", headers: Headers, type: 2… },尽管我通过了真正的param登录,这是我的代码
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});
}
Run Code Online (Sandbox Code Playgroud)
这是我的网络服务
@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;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为我的网络服务参数中的问题在字符串和角度参数中是json,
任何人都可以帮助我,谢谢.
对于form-urlencoded内容类型,您需要使用key = value对以查询字符串格式发送数据.您可以URLSearchParams在httpmodule from class 的帮助下构建此字符串.在你的情况下,它看起来像这样:
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});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2295 次 |
| 最近记录: |