如何从HttpRequest.postFormData的catchError的_XMLHttpRequestProgressEvent中获取HTTP响应文本?

时间:2014-02-17 21:21:33

标签: dart dart-html

给出以下伪代码:

import "dart:html";

HttpRequest.postFormData(url, data).then((HttpRequest request) {

    ...

}).catchError((error) {

    // How do I get the response text from here?

});

如果网络服务器回复400 BAD REQUEST,则会调用catchError。但是,错误参数属于_XMLHttpRequestProgressEvent类型,显然在Dart的库中不存在。

那么,如何从Web服务器发送的400 BAD REQUEST响应中获取响应文本?

1 个答案:

答案 0 :(得分:6)

您的错误对象中的目标实际上就是您的HttpRequest。

您可能会发现此链接很有用:https://www.dartlang.org/docs/tutorials/forms/#handling-post-requests

您可以执行以下操作:

import "dart:html";

HttpRequest.postFormData(url, data).then((HttpRequest request) {
    request.onReadyStateChange.listen((response) => /* do sth with response */);
}).catchError((error) {
    print(error.target.responseText); // Current target should be you HttpRequest
});