Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

You have it backward. You don't need to disable some template filter. You need to create and then enable an appropriate template filter.

Your templated javascript contains lines like:

var test='<%passtoserver%>';

If the value provided for 'passtoserver' was "Don't do this", then the javascript generated by your template would be:

var test='Don't do this';

That is a syntax error. So you need to change your template to contain lines more like:

var test='<% passtoserver | js_str %>';

or, perhaps even better:

var test=<% passtoserver | js_str %>;

where the "| js_str" tells the template to properly escape any characters that need to be escaped in order to be included verbatim inside of a javascript string literal (and, in the second case, also adds the enclosing quote marks).

And, no, Template::Toolkit doesn't come with a pre-built js_str filter so you'll have to create that as well.

Your problem case is due to the \ character not being escaped for similar reasons. So your template produces javascript code like:

var test='­[{"name":"­test","pro­blem":"her­e is the problem \" com +ma "}]';

And, in javascript, '\"' is the same value as '"'.

- tye        


In reply to Re^9: perl dancer route template hashref pass complex json file to server issue (the reverse) by tye
in thread perl dancer route template hashref pass complex json file to server issue by RamiD

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (9)
As of 2024-04-23 12:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found