I'd even ask for one step further.
How about creating some quickstart with this and add it to wicketstuff.
Not quite sure, maybe this <script> could be turned into a reusable
HeaderContributor.
mf
Am 12.03.2009 um 03:23 schrieb Igor Vaynberg:
Armin, maybe you should put this on our wiki page. threads like this
tend to get lost easily in all the traffic.
-igor
On Wed, Mar 11, 2009 at 4:28 PM, Armin Bauer
<armin.ba...@amiando.com> wrote:
Hi everyone,
we are currently working on an opensocial application based on
wicket.
Currently it is not possible to use the ajax functionality of
wicket in an
opensocial app.
opensocial is based on iframes which run your html / js in a seperate
domain. If you build a widget for myspace.com for example, your
html will
run in msappspace.com which will prevent ajax call due to cross
domain
browser security. Luckily there is a opensocial method
"gadgets.io.makeRequest" to pull xml content from your backend
which is
proxied through the opensocial container and basically works like
an ajax
request.
so i created a bridge which replaces the XHR of wicket-ajax.js with
an
implementation based on makeRequest. Without further ado:
<script type="text/javascript">
Wicket.Ajax.createTransport = function() {
return {
open: function(method, url, async) {
this.url = url;
},
setRequestHeader: function(key, value) {
},
send: function(body) {
var req_params = new Object();
req_params[gadgets.io.RequestParameters.CONTENT_TYPE] =
gadgets.io.ContentType.TEXT;
var req = gadgets.io.makeRequest("http://your.server.com" +
this.url + "&" + body, this.callback.bind(this), req_params);
},
callback: function(data) {
this.responseText = data.text;
this.status = 200;
this.readyState = 4;
this.onreadystatechange();
},
getResponseHeader: function(key) {
return null;
},
abort: function() {
}
};
}
</script>
By including this script below your wicket-ajax script in the
opensocial app
you can use finally use ajax functionality directly on the canvas.
It should
work completely transparent so no changes in your wicket code
should be
required. Developing / porting wicket code to opensocial apps
should be a
lot easier now :)
Note that this example does not support error handling, headers,
aborting
and GET request also do not work completely. Adding this
functionality
should be easy however. Feel free to use / modify / publish the
code as you
like.
Best Regards,
Armin
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org