Angular http拦截器响应函数从服务器响应中删除消息参数

时间:2016-09-28 14:57:10

标签: angularjs response angular-http-interceptors

在我的应用程序中,所有服务器响应如下:

response = {
    data: {},
    status: STATUS_CODE,
    message: STRING_MESSAGE
}

我想使用angular的http响应函数来显示toast组件中某些web服务的响应消息。在拦截器中我有一个简单的响应函数:

response = function (res) {
    console.log(res);
    return res;
}

记录响应对象:

{
    data:{}, // object response.data
    config: {},
    status: 200,
    statusText: 'OK',
    headers: function()
}

服务器没有发送消息参数。是否意味着拦截器会擦除我服务器响应的某些部分?其中一个解决方案是覆盖statusText值。我尝试修改服务器响应,如

response = {
        data: {},
        status: STATUS_CODE,
        statusText: STRING_MESSAGE
    }

但是它没有用,我仍然有statusText:'OK'并且拦截器的响应对象中仍然没有消息参数

1 个答案:

答案 0 :(得分:0)

检查拦截器响应中的数据属性。它可能就像这样

{
   data:{     
      data: {},
      status: STATUS_CODE,
      message: STRING_MESSAGE
   }, // object response.data
   config: {},
   status: 200,
   statusText: 'OK',
   headers: function()
}