[
https://issues.apache.org/jira/browse/JSPWIKI-566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14297429#comment-14297429
]
brushed commented on JSPWIKI-566:
---------------------------------
Hi David,
The current JSPWiki default template still uses mootools v1.11. with older
API's.
(documentation is still available at
http://docs111.mootools.net/Remote/Json-Remote.js )
The newer Haddock template uses the latest mootools >v1.4,
with the Request.HTML and Request.JSON API's.
(documentation at http://mootools.net/core/docs/1.5.1/Request/Request.HTML )
So, only for the default template, try to change this in jspwiki-common.js :
{noformat}
+ ajaxHtmlCall:function(url, params, responseId, loading){
+ var update = document.getElementById(responseId);
+ if (update){ update.innerHTML = loading||'Loading...'; }
- if (Wiki.JsonUrl) {
- new Ajax( Wiki.JsonUrl, {
- postBody: Json.toString({"id":Wiki.$jsonid++,
"method":method, "params":params}),
- method: 'post',
- onComplete: function(result){
- var r = Json.evaluate(result,true);
- if(r){
- if(r.result){ fn(r.result) }
- else if(r.error){ fn(r.error) }
- }
+ new Request.HTML({
+ url: this.JsonUrl + url,
+ method:'post', // defaults to 'POST'
+ update: update
+ }).send({
+ params: params
+ });
+ },
{noformat}
into this
{noformat}
+ ajaxHtmlCall:function(url, params, responseId, loading){
+ var update = document.getElementById(responseId);
+ if (update){ update.innerHTML = loading||'Loading...'; }
+ if (this.JsonUrl) {
+ new Ajax( this.JsonUrl + url, {
+ method:'post', // defaults to 'POST'
+ data: Json.toString(params),
+ update: update,
+ }).request();
+ }
+
{noformat}
And this
{noformat}
+ ajaxJsonCall: function(url, params, callback){
+ //the Request.JSON does all encoding and decoding of the JSON
automatically
+ new Request.JSON({
+ url: this.JsonURL + url,
+ method:'post',
...
{noformat}
into this
{noformat}
+ ajaxJsonCall: function(url, params, callback){
+ //the Request.JSON does all encoding and decoding of the JSON
automatically
+ new Json.Remote( url: this.JsonURL + url, {
+ method:'post',
...
{noformat}
I didn't test this out, so some tweaks may be needed.
dirk
> AJAX server-side rewrite
> ------------------------
>
> Key: JSPWIKI-566
> URL: https://issues.apache.org/jira/browse/JSPWIKI-566
> Project: JSPWiki
> Issue Type: Improvement
> Components: Core & storage
> Affects Versions: 2.10.1
> Reporter: Janne Jalkanen
> Assignee: David Vittor
> Attachments: ajaxDispatchServlet.patch, ajaxFunctions.patch,
> ajaxFunctions.patch, ajaxFunctions.patch, ajaxFunctions.patch,
> ajaxFunctions.patch, test.html
>
>
> The AJAX library we're currently using is a bit problematic, as it stores
> non-serializable stuff in the HttpSession (causing all sorts of nasty
> exception reports in default configurations of Tomcat, and preventing
> clustering). It does provide a very nice, reflection-based interface so that
> we can expose any class/method as a JSON endpoint, but this does not really
> work well with our auth system.
> We should replace the jabsorb stuff with a Stripes-native solution (possibly
> with some extensions to allow particular beans to expose methods as if we
> were using jabsorb).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)