AngularJS发布请求。字符从初始值更改

时间:2016-11-02 08:08:42

标签: angularjs http post

我有这个非常奇怪的问题。我有一个非常长的字符串作为应用程序的标记。当我在做http post请求时,字符串会发生变化。

从“Vow == 256220”的结尾变为“誓言:= 256220”,我不明白为什么。

以下是帮助代码:

var request = $http({
    method: "post",
    url: urlWS,
    data: {token: token},0

    headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
});
request.success(function (data) {
    alert(data);
});

2 个答案:

答案 0 :(得分:1)

以下代码为我工作。

 $http({
        method: "post",
        url: urlWS,
        data: 'token='+encodeURIComponent("Vow== 256220"),
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    });
    request.success(function (data) {
        alert(data);
    });

可能是以上解决方案解决您的问题。

答案 1 :(得分:0)

您必须在主模块配置功能中配置$httpProvider。这是通过transformRequest方法完成的,首先添加您添加的默认标头,然后转换请求。

将以下代码添加到主配置功能模块:

$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
// post headers
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
$httpProvider.defaults.transformRequest = [function(data) {
    return angular.isObject(data) && String(data) !== '[object File]' ? $.param(data) : data;
}];

我希望它有所帮助;)