网页开发的阶段总结(三)JS与PHP直接互调用

WBOY
Release: 2016-06-23 13:50:05
Original
997 people have browsed it

        在公司项目的改造当中,经常会遇到js与php的函数互调的情况,而实际上JS与php的设计者是不提倡这两种语言直接进行调用的,一个是客户端语言,一个服务端语言,两者之间的交互往往靠的是ajax机制,get(),post()进行数据的传递。而且在两者在进行直接调用,往往有以下的限制:


1、首先,php与JS之间的互调只能在同个文件里,对其它文件的调用都会失败,无论是php还是JS的。

2、php与JS之间的调用只能针对的是函数,而对变量都不能实现引用,即在""中php不能引用JS的变量, 相反在"<script> </script>"中JS也不能引用php的变量。而通过网上搜索说可以实现互调,有可能是浏览器兼容的问题,本人用的浏览器是Google Chrome(版本 37.0.2062.103 m),这也在从侧面说明php与JS的直接互调很容易出现BUG。

3、在函数的调用时都要有返回值,php通过“echo”或“return”将数值返回,而JS通过“document.write()”或“return”将数值返回。

4、对函数的调用时,都要用一个变量将函数传递回来的值进行保存。例:在JS中 var y = ""; 在php中   $phpB = "<script> phpJSTest()</script>";注意:记得在对函数调用时要加上" "双引号。


附上部分代码:

     

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title></title><script language="JavaScript" src="javascript.js"></script><script language="JavaScript">function JSTest(){   var $tmp = "Hello, JS use the same file JS function";   return $tmp;}function phpJSTest(){   document.write("Hello, php use the same file JS function");}var tmp = "php call the same file JS element"; document.write("<br/><br/><br/><br/>"); document.write("script---call---show :"); document.write("<br/>");  //use the same file js function var x = JSTest(); document.write(x); document.write("<br/>");   //use same file php function var y = "<?php JSphpTest()?>"; document.write(y); document.write("<br/>");      //use another file's  JS function   var z = fileouter();  document.write(z);  document.write("<br/>");  </script><?php function phpTest()  {    echo "Hello, php use the same php  function";  }    function JSphpTest()  {    echo "Hello, JS use the same file php function";  }      include 'PHPcallOutfilePHP.php';      echo "<br/><br><br><br>";  echo "php---call---show"."<br>";     //php call the same file php function   $phpA = phpTest();   echo "$phpA"."<br>";      //php use the  same file JS function  $phpB = "<script> phpJSTest()</script>";  echo "$phpB"."<br>";     //php use external file php function   $phpC = phpcalloutfilephp();   echo "$phpC"."<br>";?>	
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!