【问题标题】:Using transformRequest to convert string to usable output from $http.get request?使用 transformRequest 将字符串转换为 $http.get 请求的可用输出?
【发布时间】:2015-10-14 04:05:37
【问题描述】:

我有一个发送 $http.get 请求的 Web 应用程序,该请求成功后会返回以下形式的纯文本字符串(不是 JSON):“Hello!”。我不想更改后端,并且想知道是否有某种方法可以更改我的 $http 的 transformRequest 属性来处理它接收字符串而不是 JSON 的事实。现在我在更改 transformRequest 之前收到当前错误:

SyntaxError: Unexpected token H

这与返回值有关(第一个字母是“H”),我认为这是因为它想要一个 JSON 对象但正在接收一个字符串。所以我的问题是:有什么我可以在前端(在 $http.get 中)改变的东西来处理只接收一个字符串而不是 JSON 对象吗?

此外,我确信有更好的方式来表达问题标题,因此欢迎进行编辑。

【问题讨论】:

    标签: json angularjs http cookies web-applications


    【解决方案1】:

    我在发布后立即发现了这一点。因为 Angular 的 $http.get 需要一个 JSON 对象,所以其默认的“transformResponse”函数会尝试将其解析为 JSON。我需要做的就是覆盖 transformResponse 以简单地返回我以基本形式返回的数据,如下所示:

    var request = $http({
      method: 'GET',
      url: 'http://localhost:8080/message',
      headers: {'token': _userToken},
      transformResponse: function(data) {
        return data;
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 2023-02-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多