rohan
rohan

Reputation: 193

Executing a javascript function returned from AJAX response (PHP)

I am trying to load a javascript function once Ajax has returned the HTML code through PHP. This requires me to echo the javascript in the ajax response.

In other words i am trying to add this code (placed between script tags) in the PHP Ajax response.. hoping that it executes

$('#green').smartpaginator({ Some code... });

From what I have read so far the browser has done reading the Javascript and will not execute this. Is there a way to do this.... ?

Upvotes: 8

Views: 17034

Answers (1)

Bhavik Patel
Bhavik Patel

Reputation: 789

You have to Evaluate that code like this

eval("("+response+")");

OR

If your response contains both html and javascript code you have to do like this

 $.ajax({
            url: "/snippets/js-in-ajax-response.html",
            context: document.body,
            success: function(responseText) {
                $("#response-div").html(responseText);
                $("#response-div").find("script").each(function(i) {
                    eval($(this).text());
                });
            }
        });

Upvotes: 23

Related Questions