angular的$ http服务中的数据的默认转换是检查它是否是字符串,如果不返回它是什么。这使得单元测试更容易,因为您可以模拟返回POJO而不是json字符串。
此行为是否有非测试用例?
transformResponse: [function(data) {
if (isString(data)) {
// strip json vulnerability protection prefix
data = data.replace(PROTECTION_PREFIX, '');
if (JSON_START.test(data) && JSON_END.test(data))
data = fromJson(data);
}
return data;
}]
答案 0 :(得分:1)
data
参数的类型取决于XHR的 responseType
。
在大多数情况下(默认情况下)它是一个字符串,但是(随着越来越多的浏览器支持XHR Level 2规范( * cough * IE10及以上 *) cough * ))它也可以是ArrayBuffer,Blob,Document或JavaScript对象。