GWT 上的 JsonP 响应代码

发布于 2024-11-08 06:10:58 字数 369 浏览 0 评论 0原文

我正在使用 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 等等,我应该 能够针对该值返回不同的“答案”。我怎样才能 知道返回的响应值是多少吗?

I'm using GWT 2.3 and I have json-p requests in my code similar to this:

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

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

some GET-requests return 200, others 302 and so on, and I should be
able to return a different "answer" respect to this value. How can I
know what's the response value returned?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

太阳男子 2024-11-15 06:10:58

我认为您无法使用 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
        }
    }
});

I think you can not access the response code using the JsonpRequestBuilder. But if you use the standard RequestBuilder instead you can get the response code using getStatusCode(). Of course you have to then the parse the response text yourself.

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
        }
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文