網頁開發的階段總結(三)--JS與PHP直接互調用

        在公司項目的改造當中,經常會遇到js與php的函數互調的情況,而實際上JS與php的設計者是不提倡這兩種語言直接進行調用的,一個是客戶端語言,一個服務端語言,兩者之間的交互往往靠的是ajax機制,get(),post()進行數據的傳遞。而且在兩者在進行直接調用,往往有以下的限制:


1、首先,php與JS之間的互調只能在同個文件裏,對其它文件的調用都會失敗,無論是php還是JS的。

2、php與JS之間的調用只能針對的是函數,而對變量都不能實現引用,即在"<?php    ?>"中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 JSphpTest()?>"; 在php中   $phpB = "<script> phpJSTest()</script>";注意:記得在對函數調用時要加上" "雙引號。


附上部分代碼:

     

<html>
<head>
<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/>";

?>

</head>
</html>






	
完整代碼下載地址:http://download.csdn.net/detail/aba13579/7874961

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章