【发布时间】:2018-03-12 21:46:53
【问题描述】:
我有这个简单的飞镖 sn-p:
import 'package:http/http.dart' as http;
Client _http = new BrowserClient();
final response = await _http
.post(url, headers: someHeader, body: someValue);
当前请求的服务器,返回Bad Request 400 响应。由于某些原因,我希望能够获得状态码。但是一旦_http.post 被调用,我就会收到这个错误:
POST http://localhost/path 400 (Bad Request)
将块放入try/catch 并没有帮助,因为捕获的异常是ClientException,它没有关于状态码和响应体的信息(这在这里很重要)。如何在这里处理状态码而不抛出异常?
更新:
_http.post() 通话后我有这个 sn-p:
if (response.statusCode == 400) {
// manage bad request
}
但是response 是null,所以statusCode 在此处无法访问。
更新 2:
我在服务器上收到请求并可以在服务器上进行跟踪。正如我所提到的,服务器正在发送400 Bad Request 响应,并且工作正常。但是在 Dart 中获取响应会导致错误。
【问题讨论】:
-
错误信息是什么意思? (XMLHttpRequest 错误?)。这可能表示创建请求时出错,而不是响应中的正常错误代码。
-
这是一个
ClientException错误。没有有用的数据。
标签: dart angular-dart dart-http