簡體   English   中英

如何在GWT中使用AsyncCallback調用GET方法

[英]How to call a GET method with AsyncCallback in GWT

我有一個doGet(String url,final AsyncCallback callback)方法,用於從具有REST功能的服務器中檢索JSON,但我不知道如何在onModuleLoad()中調用它。 代碼是:

public void doGet(String url, final AsyncCallback<JavaScriptObject> callback) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);

    try {
        builder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable caught) {
                callback.onFailure(caught);
            }
            public void onResponseReceived(Request request, Response response) {
                if(response.getStatusCode() == STATUS_CODE_OK) {
                    try {
                        callback.onSuccess(JsonUtils.safeEval(response.getText()));
                    } catch(IllegalArgumentException iax) {
                        callback.onFailure(iax);
                    }
                }
                else {
                    callback.onFailure(new Exception("Bad return code..."));
                }
            }
        });
    } catch(RequestException e) {
        callback.onFailure(e);
    }
}

我知道這是一個愚蠢的問題(我是初學者),但是我怎么稱呼doGet? 例如:

doGet("http://192.168.1.10:8080/ProvaRpi/raspberry/sample/artisti", what here?);

我需要AsyncCallback,因為我想在另一個頁面或TextBox中顯示數據庫中的JSON。 歡迎對每個代碼進行改進! 謝謝!

您可以像這樣撥打電話:

doGet("your url", new AsyncCallback<JavaScriptObject>() {

    @Override
    public void onSuccess(JavaScriptObject result) {
        // process the result
    }

    @Override
    public void onFailure(Throwable caught) {
        // process when error
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM