I am making an AJAX call with jQuery to a PHP script that needs to return javascript code embedded in a JSON result for the jQuery code to execute. How do I go about passing jav
The definition of JSON doesn't allow for javascript functions to be transported. It is meant to be language independent. If you use a JSON parser rather than eval(), it will fail if the JSON contains any functions.
Douglas Crockford, who I believe coined the term JSON has a JSON parser for javascript
Even JSONP doesn't return a function but a function call - myFuncIAskedFor({ returned JSON })
As others have mentioned, define your functions locally, it's the safest thing to do
Also use a JSON parser
Two ways:
eval()
on the client side.<script>
with its src
pointing to the server-side code that returns the new script.In either case, make sure you secure it well - if the user can somehow insert their own code into your response, they could do some damage.