Quantcast
Channel: AJAX driven "page complete" function? Am I doing it right? - Software Engineering Stack Exchange
Viewing all articles
Browse latest Browse all 4

AJAX driven "page complete" function? Am I doing it right?

$
0
0

This one might get me slaughtered, since I'm pretty sure it's bad coding practice, so here goes:

I have an AJAX driven site which loads both content and javascript in one go using Mootools'Request.HTML.

Since I have initialization scripts that need to be run to finish "setting up" the template, I include those in a function called pageComplete(), on every page

Visiting one page to another causes the previous pageComplete() function to no longer apply, since a new one is defined.

The javascript function that loads pages dynamically calls pageComplete() blindly when the AJAX call is completed and is loaded onto the page:

function loadPage(page, params) {    // page is a string, params is a javascript object    if (pageRequest && pageRequest.isRunning) pageRequest.cancel();    pageRequest = new Request.HTML({        url: '<?=APPLICATION_LINK?>'+ page,        evalScripts: true,        onSuccess: function(tree, elements, html) {            // Empty previous content and insert new content            $('content').empty();            $('content').innerHTML = html;            pageComplete();            pageRequest = null;        }    }).send('params='+JSON.encode(params));}

So yes, if pageComplete() is not defined in one the pages, the oldpageComplete() is called, which could potentially be disastrous, but as of now, every single page has pageComplete() defined, even if it is empty.

Good idea, bad idea?


Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles





Latest Images