6

给定以下伪代码:

import "dart:html";

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

    ...

}).catchError((error) {

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

});

如果 Web 服务器以 a 回复,400 BAD REQUEST则将catchError调用 。但是,错误参数的类型_XMLHttpRequestProgressEvent显然在 Dart 的库中不存在。

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

4

1 回答 1

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
});
于 2014-02-17T22:53:13.720 回答