[Dancer-users] Dancer::plugin:ajax & config:load

Stephen Fenwick-Paul stephen at activeg.org
Wed Jun 29 17:17:33 CEST 2011


Hi,


V. simple app:

package MyApp;

use Dancer ':syntax';
use Dancer::Plugin::Ajax;

ajax '/hellox/:name' => sub {
    template 'hello';
};

true;

Produces:


$ curl -H 'X-Requested-With: XMLHttpRequest'
http://www.myapp.new/hellox/fred

*<p>This is hello</p>*
*
*
Which is to be expected.

But:

package MyApp;

use Dancer ':syntax';
use Dancer::Plugin::Ajax;

ajax '/hellox/:name' => sub {
*    Dancer::Config::setting('appdir',$ENV{ROOT});*
*    Dancer::Config::load();*

    template 'hello';
};

true;

$ curl -H 'X-Requested-With: XMLHttpRequest'
http://www.myapp.new/hellox/fred

Produces:


*<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"*
*"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">*
*<html xmlns="http://www.w3.org/1999/xhtml">*
*<head></head>*
*<body>*
*    *
*<p>This is hello</p>*
*
*
*</body>*
*</html>*

So, running *Dancer::Config::load() *stops Plugin::Ajax working.

This may seems a strange thing to do, but for me the load() was deep in a
module that some times runs outside of Dancer but picks up stuff from the
Dancer config.

Handling the ajax call manually (as per the the Cookbox) there are no
problems with using load().

Stephen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.backup-manager.org/pipermail/dancer-users/attachments/20110629/5d47c203/attachment.htm>


More information about the Dancer-users mailing list