如何使用angularjs序列化对象

时间:2015-04-01 02:43:13

标签: javascript jquery angularjs

如何在不使用$.param jquery?

的情况下序列化对象

我想要下面的对象:

var user = {username: 'ronald.araujo', password: '123456',};

有以下输出:

username=ronald.araujo&password=123456

有什么建议吗?记住我会使用Angularjs或纯Javascript来执行此操作。

修改

我正在使用动词" save" ($ resource)angularjs。我怎样才能设置标题" application / x-www-form-urlencoded"并序列化?

2 个答案:

答案 0 :(得分:5)

纯粹的javascript可以做得很好:

function serializeObj(obj) {
    var result = [];

    for (var property in obj)
        result.push(encodeURIComponent(property) + "=" + encodeURIComponent(obj[property]));

    return result.join("&");
}

var user = {
    username: 'ronald.araujo',
    password: '123456'
};

var serialized = serializeObj(user);
console.log(serialized); //username=ronald.araujo&password=123456

原始答案的链接:How do I POST urlencoded form data with $http in AngularJS?

答案 1 :(得分:1)

您可以使用$httpParamSerializerJQLike;

.controller(function($http, $httpParamSerializerJQLike) {
  //...

 var serializedUser = $httpParamSerializerJQLike(user);

});

您可以看到$httpParamSerializerJQLike文档here