我有一个发送$ http.get请求的Web应用程序,该请求成功后会返回以下格式的纯文本字符串(而不是JSON):" Hello!"。我不想改变后端,并且想知道是否有某种方法可以改变我的$ http的transformRequest属性来处理它接收字符串而不是JSON的事实。现在我在改变transformRequest之前收到当前错误:
SyntaxError: Unexpected token H
这与返回值有关(第一个字母是' H')我假设它是因为它想要一个JSON对象但是正在接收一个字符串。所以我的问题是:我是否可以在前端(在$ http.get中)更改只处理接收字符串而不是JSON对象?
另外,我确定有更好的方式来标记问题标题,因此欢迎进行修改。
答案 0 :(得分:0)
我在发布后立刻想出来了。因为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;
}
});