Код ответа JsonP на GWT

Я использую GWT 2.3, и в моем коде есть запросы json-p, подобные этому:

JsonpRequestBuilder jsonp = new JsonpRequestBuilder();
jsonp.requestObject(jsonUrl, new AsyncCallback<T>() {
  public void onFailure(Throwable throwable) { // error }

  public void onSuccess(T t) { //do something }
});

некоторые GET-запросы возвращают 200, другие 302 и т. д., и я должен иметь возможность вернуть другой «ответ» относительно этого значения. Как я могу узнать, какое значение ответа возвращено?


person Randomize    schedule 18.05.2011    source источник


Ответы (1)


Я думаю, вы не можете получить доступ к коду ответа, используя JsonpRequestBuilder. Но если вместо этого вы используете стандартный RequestBuilder, вы можете получить код ответа с помощью getStatusCode(). Конечно, вы должны сами проанализировать текст ответа.

RequestBuilder r = new RequestBuilder(RequestBuilder.GET, jsonUrl);
r.sendRequest(null, new RequestCallback() {
    public void onError(Request request, Throwable exception) {
        // error
    }

    public void onResponseReceived(Request request, Response response) {
        if (response.getStatusCode() == 200) {
            //do something
        } else if (response.getStatusCode() == 302) {
            //do something else
        }
    }
});
person Adrian B.    schedule 25.05.2011