On 03/02/2010 01:15 AM, Jeremie BOUSQUET wrote: > Hello, > > This is for something I'm trying to develop ... And I'm not sure it has > something to do with XWiki, but who knows ? > > In a page I call a particular init() function like this : > > Event.observe(window, "load", init); > > This init() aims at loading some JSON data from another page using Ajax. I > was inspired by the livetable.js here :-) > > var json = "" > var ajx=new Ajax.Request( " > http://localhost:8081/xwiki/bin/view/Dev/JSONProvider?xpage=plain&outputSyntax=plain", > > {method:"get", onSuccess:function(transport) { json = > eval("("+transport.responseText+")"); } > } > )
Wait, do you use json here, after the new Ajax.Request? You can't do that. You should put the code using json inside the onSuccess handler. Alternatively, you can add asynchronous: false, to the list of parameters to make the call synchronous, which means that the new Ajax.Request line will block until the response arrives. But this is bad for several reasons: in most of the current browsers it blocks the entire browser until the response arrives, so if the server is slow to respond, you'll lock the user outside the browser; the method might fail, so onSuccess will not be called, and json will still have the wrong value. > This Javascript is in a .js file along with other resources on the server > filesystem. It is loaded with $xwiki.jsfx.use(...) . > When I debug step by step using Firebug, everything is fine, "json" variable > contains what I expect. > But when I'm not debugging and refresh the page, "json" variable is empty > ... (breakpointing AFTER ajax call shows it). Though I can see in Firebug > that my Ajax http request finished with a 200 OK code. > > Do you think it might be linked to the fact this method is called on page > load ? I can't see how it's different than other ajax calls in xwiki ... > -- Sergiu Dumitriu http://purl.org/net/sergiu/ _______________________________________________ users mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/users
