我这样做
// dart
HttpRequest req = new HttpRequest();
req.open('GET', 'some-url');
req.overrideMimeType('text\/plain; charset=x-user-defined');
req.onLoadEnd.listen((e) {
if (req.status == 200) {
print(req.responseHeaders);
} else {
print('download failed');
}
});
req.send();
// angular-dart
_http.get('some-url', headers: {'Content-Type': 'text\/plain; charset=x-user-defined'})
.then((HttpResponse resp) {
print(resp.config.headers);
})
.catchError((e) {
print('download failed');
});
我希望看到两次显示相同的标题。相反,飞镖调用显示
{last-modified: Tue, 18 Mar 2014 18:04:00 GMT, content-type: text/plain; charset=x-user-defined, cache-control: public, max-age=2592000}
和角镖一
{Accept: application/json, text/plain, */*}
第二个标题是默认标题,因此我得出结论,我没有在angular-dart http调用中正确设置标题。我怎样才能解决这个问题?你能发现其他任何错误吗?
答案 0 :(得分:2)
我认为你在这里缺少一件事。 GET方法不包含任何有效负载,因此它不能设置内容类型标头。
如果要覆盖响应mime(如第一个示例中所示),则不应使用标头,因为它具有不同的用途。不幸的是,我无法在agular的HTTP类中看到覆盖响应的mime类型的方法。我认为没有。因此,您现在可以在服务中使用HttpRequest类并提交问题报告。