Skip to content Skip to sidebar Skip to footer

Call JavaScript Function From A Php Script

I'm wondering if this is something I can do. I have a PHP script that needs to call a function that I define in my main index.php. Inside my other PHP file I have: echo '

Solution 1:

Ok. I think can see the clear picture now.

No. it is not possible. You can not can not call client-side javascript method from server-side PHP script.

In web application there are to sides:

  • client (in your case its web browser, that works with html/css and javascript + data received from the server)
  • server side that works with whatever (in your case its PHP) and generates the html/css, javascript and data.

Now, your index.php on the server side is processed by the web server and produces index.html that is being sent by the server to the client. Client opens this file and loads/executes all the scripts,styles that are defined in it. And it creates document structure. All of it is now existing on the client side.

However, server side does not have a direct link to your client context. So the are two ways to run this method as a result of the server processing.

1) to send a ajax request to the server, and, based on the result, execute the method.

2) If you don't want to deal with ajax cal logic, you may do a script insertion approach. How it works, is that when the button is pressed you do something like this:

var scriptRef = document.createElement('script');
scriptRef.setAttribute('src','url_to_script.php');
document.head.appendChild(scriptRef);

What it will do, it will dynamically append a script tag to your document and load script content as a result of your php script output. There you can decide to launch the method or do something else.

However, script insertion is a bit of a headache and should not be used on a long-running pages (in my opinion), as it actually adds a new script every time you press a button. And its your responsibility to keep track of it and remove it.


Solution 2:

As long as you display your functions correctly in JavaScript format You can just call:

<script type="text/javascript" src="ajax.php"></script>

Post a Comment for "Call JavaScript Function From A Php Script"