我正在尝试使用Angular.js $ http.get()函数引入json文件。调用显然可以找到该文件,但它以text / plain类型返回,而不是application / json。我从this post听说我需要更改服务器代码以使其工作,但我无法控制服务器。有没有办法从我的结束强制application / json?
我的代码:
var blueprint = {};
$http.get('/path/to/data.json', {header : {'Content-Type' : 'application/json'}})
.success(function (data) {
for (var prop in data) {
blueprint[prop] = data[prop];
}
})
.error(function(){
console.log('Data not found.');
});
谢谢,
泰勒
答案 0 :(得分:0)
据我所知,当$http service检测到响应是JSON对象时,在文本上应用JSON.parse()并直接返回相应的JS对象。在你的情况下,它没有检测到它,所以你应该自己解析响应。请尝试以下方法:
var blueprint = {};
$http.get('/path/to/data.json', {header : {'Content-Type' : 'application/json'}})
.success(function (data) {
data = JSON.parse(data); // missing line
for (var prop in data) {
blueprint[prop] = data[prop];
}
})
.error(function(){
console.log('Data not found.');
});