Have found a way to do it, this is through use_dynamic_javascript('route');

the route here will point for example at a javascript module
javascript/mydynamicscript and can use the '.js' format.
then you can skip the mydynamicscript action and directly go to the template
mydynamicscriptSuccess.js.php

In this template you can put your script and use the php tags to echo the
links needed.

Not sure yet which solution I will personally use, but thought the solution
might be useful for some of us!

2010/8/9 Kevin <kevinb...@gmail.com>

> I have also run into this problem.  Using the href/action works great
> for links and forms but isn't always applicable since some ajax calls
> don't rely on those html items.  What I do is set a dummy meta tag
> with the url in it and pull that in with javascript.  Not the best
> solution but at least I can keep my javascript completely seperate...
>
> I have discussed this before:
>
> http://groups.google.ca/group/symfony-users/browse_thread/thread/50389a8ad4d987c/d983f5b09c512702?lnk=gst&q=ajax+url#d983f5b09c512702
>
> The ideal soltion would be to use the html5 data attribute:
> http://ejohn.org/blog/html-5-data-attributes/ but using this breaks
> xhtml validation...
>
> - Kevin
>
> On Aug 9, 1:16 am, "Sebastien Armand [Pink]" <khe...@gmail.com> wrote:
> > In both your suggestions, if I get them correctly, the idea is that from
> a
> > template, I should output some javascript to set some variables or any
> other
> > way to get the url back from my javascript later. Which seems weird to
> me,
> > and "wrong" on the side that I don't really want to add js in my
> templates
> > and prefer to keep it separate.
> >
> > For an idea, my case goes like this: I have a form to enter some
> information
> > of a sofa for example, and one of the fields allows me to chose a
> "design"
> > for the sofa. This design has some default dimensions: width and length.
> > Those are the information I want to bring back through ajax.
> >
> > So:
> > 1. get to the form page to create a new sofa
> > 2. choose a design
> > 3. this triggers the JS to go look for the default size (from the design
> > module) and fill it in the form.
> >
> > my js file is in the js folder and in it I have a url linking to
> > "/design/:design_id.json" but for this to work on my dev environment, I
> need
> > that url to be: "/frontend_dev.php/design/:design_id.json".
> >
> > So is there a way to output that url in the js through php and symfony?
> > Or a way that I can get it through the dom but without already having to
> put
> > it here by myself beforehand?
> >
> > 2010/8/7 Stéphane <stephane.er...@gmail.com>
> >
> > > It shouldnt break.
> > > You should do this:
> >
> > > Create a route to reach your module/action
> (/apps/$app/config/routing.yml,
> > > check doc).
> > > Then in a template, write something like:
> >
> > > <script type="text/javascript">
> > > window.myactionurl = "<?php echo url_for('@my_route')?>";
> >
> > > alert(window.myactionurl);
> > > $.post(window.myactionurl, null, function(data){//...});
> > > </script>
> >
> > > This is a stupid example (about the window.myactionurl, store this
> > > somewhere else).
> >
> > > Before Printing, Think about Your Environmental Responsibility!
> > > Avant d'Imprimer, Pensez à Votre Responsabilitée Environnementale!
> >
> > > On Sat, Aug 7, 2010 at 12:25 PM, Phennim <phen...@gmail.com> wrote:
> >
> > >> Get the url from the DOM using js.
> >
> > >> $('a.do-ajax').click(function(){
> > >>  var url = $(this).attr('href');
> >
> > >>  $.post(url, function(data){
> > >>    //do stuff
> > >>  });
> > >> });
> >
> > >> On Aug 7, 11:11 am, "Sebastien Armand [Pink]" <khe...@gmail.com>
> > >> wrote:
> > >> > Hello everyone,
> >
> > >> > I was wondering how to get an environment independent url in
> javascript
> > >> > files. My js needs to connect to the server and get some JSON data
> and
> > >> > update a form on certain actions. But putting that actions url in
> the js
> > >> > directly breaks everything when you change environment...
> >
> > >> > I might be missing something here but don't see the light of how to
> do
> > >> it,
> > >> > any insight welcome ;-)
> >
> > >> --
> > >> If you want to report a vulnerability issue on symfony, please send it
> to
> > >> security at symfony-project.com
> >
> > >> You received this message because you are subscribed to the Google
> > >> Groups "symfony users" group.
> > >> To post to this group, send email to symfony-users@googlegroups.com
> > >> To unsubscribe from this group, send email to
> > >> symfony-users+unsubscr...@googlegroups.com<symfony-users%2bunsubscr...@googlegroups.com>
> <symfony-users%2bunsubscr...@googlegroups.com<symfony-users%252bunsubscr...@googlegroups.com>
> >
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/symfony-users?hl=en
> >
> > >  --
> > > If you want to report a vulnerability issue on symfony, please send it
> to
> > > security at symfony-project.com
> >
> > > You received this message because you are subscribed to the Google
> > > Groups "symfony users" group.
> > > To post to this group, send email to symfony-users@googlegroups.com
> > > To unsubscribe from this group, send email to
> > > symfony-users+unsubscr...@googlegroups.com<symfony-users%2bunsubscr...@googlegroups.com>
> <symfony-users%2bunsubscr...@googlegroups.com<symfony-users%252bunsubscr...@googlegroups.com>
> >
> > > For more options, visit this group at
> > >http://groups.google.com/group/symfony-users?hl=en
>
> --
> If you want to report a vulnerability issue on symfony, please send it to
> security at symfony-project.com
>
> You received this message because you are subscribed to the Google
> Groups "symfony users" group.
> To post to this group, send email to symfony-users@googlegroups.com
> To unsubscribe from this group, send email to
> symfony-users+unsubscr...@googlegroups.com<symfony-users%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/symfony-users?hl=en
>

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en

Reply via email to