繁体   English   中英

Angular.js更改GET请求的内容类型

[英]Angular.js Change Content-Type of GET Request

我正在尝试使用Angular.js $ http.get()函数引入一个json文件。 该调用显然可以找到该文件,但是它以文本/纯文本类型而不是application / json返回。 我从这篇文章中听说,我需要更改服务器代码才能使其正常工作,但是我无法控制服务器。 有没有办法强制我结束应用程序/ 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.');
    });

谢谢,
泰勒

据我了解,当$ http服务检测到响应是一个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.');
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM