Package com.google.gwt.jsonp.client
Class JsonpRequestBuilder
java.lang.Object
com.google.gwt.jsonp.client.JsonpRequestBuilder
Class to send cross domain requests to an http server. The server will receive a request
including a callback url parameter, which should be used to return the response as following:
<callback>(<json>);where <callback> is the url parameter (see
setCallbackParam(String)
), and
<json> is the response to the request in json format.
This will result on the client to call the corresponding AsyncCallback.onSuccess(Object)
method.
If needed, errors can be handled by a separate callback:
<failureCallback>(<error>);where <error> is a string containing an error message. This will result on the client to call the corresponding
AsyncCallback.onFailure(Throwable)
method. See
setFailureCallbackParam(String)
.
Example using JSON Google Calendar GData API:
String url = "http://www.google.com/calendar/feeds/developer-calendar@google.com/public/full" + "?alt=json-in-script"; JsonpRequestBuilder jsonp = new JsonpRequestBuilder(); jsonp.requestObject(url, new AsyncCallback<Feed>() { public void onFailure(Throwable throwable) { Log.severe("Error: " + throwable); } public void onSuccess(Feed feed) { JsArray<Entry> entries = feed.getEntries(); for (int i = 0; i < entries.length(); i++) { Entry entry = entries.get(i); Log.info(entry.getTitle() + " (" + entry.getWhere() + "): " + entry.getStartTime() + " -> " + entry.getEndTime()); } } });This example uses these overlay types:
class Entry extends JavaScriptObject { protected Entry() {} public final native String getTitle() /*-{ return this.title.$t; }-*/; public final native String getWhere() /*-{ return this.gd$where[0].valueString; }-*/; public final native String getStartTime() /*-{ return this.gd$when ? this.gd$when[0].startTime : null; }-*/; public final native String getEndTime() /*-{ return this.gd$when ? this.gd$when[0].endTime : null; }-*/; } class Feed extends JavaScriptObject { protected Feed() {} public final native JsArray<Entry> getEntries() /*-{ return this.feed.entry; }-*/; }
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the name of the callback url parameter to send to the server.Returns the name of the failure callback url parameter to send to the server.int
Returns the expected timeout (ms) for this request.requestBoolean
(String url, AsyncCallback<Boolean> callback) requestDouble
(String url, AsyncCallback<Double> callback) requestInteger
(String url, AsyncCallback<Integer> callback) <T extends JavaScriptObject>
JsonpRequest<T> requestObject
(String url, AsyncCallback<T> callback) Sends a JSONP request and expects a JavaScript object as a result.requestString
(String url, AsyncCallback<String> callback) void
Sends a JSONP request and does not expect any results.send
(String url, AsyncCallback<Void> callback) Sends a JSONP request, does not expect any result, but still allows to be notified when the request has been executed on the server.void
setCallbackParam
(String callbackParam) void
setFailureCallbackParam
(String failureCallbackParam) void
void
setTimeout
(int timeout)
-
Constructor Details
-
JsonpRequestBuilder
public JsonpRequestBuilder()
-
-
Method Details
-
getCallbackParam
Returns the name of the callback url parameter to send to the server. The default value is "callback". -
getFailureCallbackParam
Returns the name of the failure callback url parameter to send to the server. The default is null. -
getTimeout
public int getTimeout()Returns the expected timeout (ms) for this request. -
requestBoolean
-
requestDouble
-
requestInteger
-
requestObject
public <T extends JavaScriptObject> JsonpRequest<T> requestObject(String url, AsyncCallback<T> callback) Sends a JSONP request and expects a JavaScript object as a result. The caller can either useJSONObject
to parse it, or use a JavaScript overlay class. -
requestString
-
send
Sends a JSONP request and does not expect any results. -
send
Sends a JSONP request, does not expect any result, but still allows to be notified when the request has been executed on the server. -
setCallbackParam
- Parameters:
callbackParam
- The name of the callback url parameter to send to the server. The default value is "callback".
-
setFailureCallbackParam
- Parameters:
failureCallbackParam
- The name of the failure callback url parameter to send to the server. The default is null.
-
setPredeterminedId
-
setTimeout
public void setTimeout(int timeout) - Parameters:
timeout
- The expected timeout (ms) for this request. The default is 10s.
-