lordzardeck Posted July 27, 2009 Share Posted July 27, 2009 How would you return a javascript function withing JSON encoded in php. I want to build a js menu with an onclick feature built by php dynamically, and encoded in JSON. is this possible? If not, does anyone have a better suggestion? Quote Link to comment Share on other sites More sharing options...
haku Posted July 27, 2009 Share Posted July 27, 2009 Send it back as text, then use eval() to process the function maybe. Quote Link to comment Share on other sites More sharing options...
RichardRotterdam Posted July 27, 2009 Share Posted July 27, 2009 How would you return a javascript function withing JSON encoded in php. If you use eval you might be able to encapsulate a method inside the json object. However I do advice you not to do that. Json is meant to be used as data carrier just like XML and not to pass methods. I'm sure you can use different approach to reach your goal. Could you describe how your navigation should work in more detail? Quote Link to comment Share on other sites More sharing options...
lordzardeck Posted July 28, 2009 Author Share Posted July 28, 2009 I was unable to use eval because the the json keys and values are surrounded by " ". My navigation is created in by the yui library. The format it needs to be in is this: [ {"text":"Home"}, {"text":"Catalog","submenu": {"id":"catalogSub","itemdata": [ {"text":"Catalog", onclick: {fn: somefunction}}, {"text":"Add Book", onclick: {fn: function(){dosomething();}}} ] } }, {"text":"Patrons"} ] I can create a javascript file that i can dynamically load and execute, but that would involve having to iterate throught the entire array, and involve a lot of extra work. If it comes to that I guess I'd have to, but I would really like a better way. Is there someway to convert a string to a function? Quote Link to comment Share on other sites More sharing options...
lordzardeck Posted July 29, 2009 Author Share Posted July 29, 2009 Ok, i figured it out. I took the json encoded text within php and did a regex search for "fn": and removed the quotes around the text eclosed to the right of "fn":. When the json was loaded and parsed, it loaded it as a function. Thanks anyways! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.