I'm not sure if this is directly related, but it might be. I had some weird issues with unexpected wikifrobbing (basically acting as if the {pre} wasn't there) of my json data that happened to contain HTML strings: http://nielsmayer.com/xwiki/bin/view/Timeline/YTTL-Mock-JSON?xpage=plain that required me to do some oddball things in the code to prevent said wikifrobbing: http://nielsmayer.com/xwiki/bin/view/Timeline/YTTL-Mock-JSON?viewer=code
I got sick of messing with JSON and now i just create the objects in javascript directly, which is the way it needed to be done in the first place for efficiency-sake. It's possible something unexpected and similar is happening with your json data. It might be a good idea to look at the JSON request/response in firebug and see if your data is as expected. Niels http://nielsmayer.com PS: Rhodopsins <http://en.wikipedia.org/wiki/Rhodopsin> are cool. :-) On Wed, Mar 11, 2009 at 8:35 AM, Dan Svoboda <dsvob...@structbio.pitt.edu>wrote: > I'm implementing some Ajax to change page content using a web service, > and I'm stumped. > > Here's the web service code: > > <% > response.setContentType("application/x-json") > > def success = "Successful Ajax Web Service call!" > %> > { > "rdoc": "<%=success%>" > } > > Here's the javascript Ajax call: > > <!-- AJAX Web Service Call --> > <script type="text/javascript"> > function getRenderedDoc() { > window.alert("Function Called"); > new Ajax.Request( > // Here we make the asynchronous call to our previously > created web service. > // Note that we are using the XWiki API from velocity to > compute the exact URL we want to hit. > // This is possible since the entire page will be evaluated > by the velocity engine before being sent to > // the client from which this javascript function will be > executed. > // We precise the number of entries we want to retrieve using > the limit parameter. The second parameter, > // "xpage=plain" is mandatory, this force XWiki to render the > called document with the "plain.vm" velocity > // template, thus not returning the whole skin. If we forget > this parameter, we will not receive a valid JSON > // and our client will not work. > "/1.8/bin/view/Main/WebService?xpage=plain", > { > method: 'get', > onSuccess: function(transport) { > // first, we evaluate the JSON result to make it > manipulable as javascript objects > var res = eval( '(' + transport.responseText + ')' ); > > var rendcontent = res.rdoc; > var rdiv = document.getElementById("div_Space_Rhodopsin"); > while( rdiv.childNodes.length >= 1 ) { > rdiv.removeChild( rdiv.firstChild ); > } > > var pTag = document.createElement("p"); > pTag.innerHTML = rendcontent; > rdiv.appendChild(pTag); > } > } ); > } > </script> > I call the function from an anchor tag: <a > href="javascript:getRenderedDoc()">Test Ajax</a> > > The alert is displayed, but I'm not seeing any update on my page. All > of the DOM manipulations have been independently verified with text > literals outside of the Ajax.Request. > > Thanks. > > Dan Svoboda > _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users