如何在dart和angular-dart中设置http标头

时间:2014-04-20 08:28:03

标签: dart angular-dart

我这样做

// 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调用中正确设置标题。我怎样才能解决这个问题?你能发现其他任何错误吗?

1 个答案:

答案 0 :(得分:2)

我认为你在这里缺少一件事。 GET方法不包含任何有效负载,因此它不能设置内容类型标头。

如果要覆盖响应mime(如第一个示例中所示),则不应使用标头,因为它具有不同的用途。不幸的是,我无法在agular的HTTP类中看到覆盖响应的mime类型的方法。我认为没有。因此,您现在可以在服务中使用HttpRequest类并提交问题报告。