2014-02-17 1 views
6

주어진 다음의 의사 코드 :HttpRequest.postFormData의 catchError의 _XMLHttpRequestProgressEvent에서 HTTP 응답 텍스트를 가져 오는 방법은 무엇입니까?

import "dart:html"; 

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

    ... 

}).catchError((error) { 

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

}); 

웹 서버가 다음 catchError 호출됩니다 400 BAD REQUEST로 응답합니다. 그러나 오류 매개 변수는 다트 라이브러리에없는 _XMLHttpRequestProgressEvent 유형입니다.

그렇다면 웹 서버에서 보낸 400 BAD REQUEST 응답의 응답 텍스트를 얻으려면 어떻게해야합니까?

답변

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 
}); 
+0

내가 불확실 오전 . 게다가, 당신의 예제는 onData (_)에서 알 수 없기 때문에 깨졌습니다. – corgrath

+0

나는 이것을 시험해 보았고, 대부분의 2XX는 괜찮아 보이고, 대부분의 4XX와 5XX는 'catchError'를 호출한다. – corgrath

+0

@corgrath 당신 말이 맞아요. 나는 이것을 지금도 시험했다. onData에 요청을 전달해야합니다. 즉 cp가 실패했습니다. error.currentTarget.responseText를 사용해보십시오 – markovuksanovic

관련 문제