我们如何将对象转换为以角度4为单位的application / x-www-form-urlencoded

时间:2017-07-28 12:40:07

标签: angular angular-http

我正在尝试使用角色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导入。

我想知道我们是否可以使用任何其他方法或模块。

1 个答案:

答案 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);
}

否则,您可以直接从标题选项通过网址发送数据。