【发布时间】:2015-03-02 03:38:04
【问题描述】:
我的服务器中有一个“test.ini”文件,包含以下文本:
"[ALL_OFF]
[ALL_ON]
"
我正在尝试通过$http 服务获取此文件内容,这是我的功能的一部分:
var params = { url: 'test.ini'};
$http(params).then(
function (APIResponse)
{
deferred.resolve(APIResponse.data);
},
function (APIResponse)
{
deferred.reject(APIResponse);
});
此操作出现 Angular 异常(SyntaxError: Unexpected token A)。
我打开了 Angular 框架文件,发现了异常:
因为文本文件内容以“[”开头并以“]”结尾,Angular“认为”这是一个JSON文件。
这是 Angular 代码(1.2.23 版本中的第 7474 行):
var defaults = this.defaults = {
// transform incoming response data
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;
}],
我的问题:
我如何强制角度不进行此检查 (if (JSON_START.test(data) && JSON_END.test(data))) 并且不将文本响应解析为 JSON? p>
【问题讨论】:
-
让你的服务器返回带有
text/plain的文件然后它就可以正常工作了
标签: json angularjs parsing http httpresponse