0

我正在做关于检索 JSON 数据的 GWT 教程(https://developers.google.com/web-toolkit/doc/latest/tutorial/JSON)。我的代码没有按应有的方式更新,在调试时我发现我的代码从未进入 onResponseReceived 回调方法。

这是我在这部分使用的代码,大部分是从教程中复制的。

// Send request to server and catch any errors.
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);

    try {
        Request request = builder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                displayError("Couldn't retrieve JSON");
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {
                    updateTable(asArrayOfStockData(response.getText()));
                } else {
                    displayError("Couldn't retrieve JSON (" + response.getStatusText()
                            + ")");
                }
            }
        });
        System.out.println(request.toString());
    } catch (RequestException e) {
        displayError("Couldn't retrieve JSON");
    }
    catch (Exception e) {
        System.out.println(e.getMessage());
    }

我添加了 catch(Exception e) 以查看是否有其他异常破坏了我的代码,但事实并非如此。我还做了 request.toString() 以确保请求对象实际上是被创建的,当我这样做时,我得到一个带有 MemID 或任何 HEX 数字的字符串。

我一直在尝试找出问题所在,但无法弄清楚,因此非常欢迎任何提示或想法。

4

1 回答 1

0

由于您没有解释您遇到的确切问题,因此很难告诉您确切的答案。所以首先用萤火虫(萤火虫和网络监控)检查它。下一个建议是,您使用的是 GET 方法,因此只需将带有一些值的 URL 输入到名为q地址栏的参数中,然后按 Enter,放置断点或查看本地服务器上的日志。并且还要确保你的 web.xml 中的 servlet-mapping 是正确的。

于 2013-04-17T00:53:26.960 回答