我正在尝试使用角色4应用程序中的post方法执行登录,该应用程序需要url和application / x-www-form-urlencoded数据(在正文中不是标题)。
我在angularjs的类似帖子中找到了这个函数,但这似乎不适用于Angular v4
var str = [];
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
str.push(encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]))
console.log(key + " -> " + obj[key]);
}}
return str.join("&");
Angular官方文档删除了链接https://angular.io/api/http/BaseRequestOptions-class,也没有以前支持的Query-String导入。
我想知道我们是否可以使用任何其他方法或模块。
答案 0 :(得分:0)
如果您要执行application / x-www-form-urlencoded post请求并将对象存储在请求正文中,则此方法有效。
post(data) {
let options = new DefaultRequestOptions();
let params = new URLSearchParams("");
for (var key in data) {
if (data.hasOwnProperty(key)) {
params.append(key, data[key])
}
}
this.http.post('some url', params , options);
}
否则,您可以直接从标题选项通过网址发送数据。