暂时更改$ http.defaults.transformResponse

时间:2015-09-24 22:55:17

标签: ajax angularjs

如何在angularjs中自定义$ http,以便在$ http.post调用中接受字符串作为其响应?现在,当我进行$ http.post调用时,我的响应是字符串,但是默认情况下angularjs使用JSON,因此我收到错误。现在我有一些基本的东西

function getResponseURL(response) {
 //this will convert the response to string
                return response;
}
$http.defaults.transformResponse = [];
$http.defaults.transformResponse.unshift(getResponseURL);

但是,如果我使用上面的代码,那么在该调用之后使用字符串的任何$ http.post调用。我希望它使用原始的默认JSON格式。我怎样才能暂时改变对这一个调用的字符串响应,但其余的作为响应保留为JSON类型?

1 个答案:

答案 0 :(得分:1)

为什么不仅仅为该请求注册该转换?

Angular js $http docs

  

如果你愿意的话   仅覆盖单个请求/响应转换   请求然后提供transformRequest和/或transformResponse   传递到$ http。

的配置对象的属性