我正在开发一个小应用程序并使用 GWT 来构建它。我刚刚尝试向远程服务器发出请求,该服务器将以 JSON 形式返回响应。我试过使用覆盖类型的概念,但我无法让它工作。我一直在更改代码,因此它与 Google GWT 教程的位置有点偏离。
JavaScriptObject json;
public JavaScriptObject executeQuery(String query) {
String url = "http://api.domain.com?client_id=xxxx&query=";
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,
URL.encode(url + query));
try {
@SuppressWarnings("unused")
Request request = builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
// violation, etc.)
}
public void onResponseReceived(Request request,
Response response) {
if (200 == response.getStatusCode()) {
// Process the response in response.getText()
json =parseJson(response.getText());
} else {
}
}
});
} catch (RequestException e) {
// Couldn't connect to server
}
return json;
}
public static native JavaScriptObject parseJson(String jsonStr) /*-{
return eval(jsonStr );
;
}-*/;
在 chrome 的调试器中,我得到了雨伞异常,无法看到堆栈跟踪,并且 GWT 调试器因 NoSuchMethodError 而死...任何想法,指针?