• js和 php 介绍


     1.

    在公司项目的改造当中,经常会遇到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>


    2.js confirm()方法的使用方法实例

    如果用户点击确定按钮,则 confirm() 返回 true。如果点击取消按钮,则 confirm() 返回 false。

    在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 confirm() 时,将暂停对 JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句。

    下面我们通过这两个小例子,来了解一下它的使用方法吧:

    复制代码代码如下:

    <html>
    <head>
    <title>confrim 的使用方法</title>
    <script type="text/javascript">
    function clear1()
    {
     if(confirm("确定要清空数据吗?"))
     {
     document.main.text1.value="";
     }
    }
    </script>
    </head>
    <boty>
    <form name="main">
    <input type="text" name="text1"/>
    <input type="button" name="submit" value="数据清空" onclick="return clear1()"/>
    </form>
    </body>
    </html>

    <html>
    <head>
    <title>js confirm</title>
    <script>
    function begin()
    {
     var a=confirm("郭杨和小代是好朋友吗?");
     if(a==true)
     {
     /*document.write("恭喜你答对了!");*/
     alert("恭喜你答对了!");
     begin();
     }
     else
     {
     /*document.write("你真是猪,这么简单的问题都答不对!");*/
     alert("你真是猪,这么简单的问题都答不对!");
     begin();
     }
     }
    </script>
    </head >
    <body onload="begin()">
    </body>
    </html>



     
  • 相关阅读:
    some Rails leanrning:Rails Ajax,Validates,Cycle
    快速排序与挑白菜
    九月开学
    搜索引擎代码资源
    start RubyOnRails
    垂直搜索引擎之我见
    demo下载:ASP.NET GDI+生成动态的Gif动画
    NHibernate和ADO.Net的性能对比相差有多大?
    手工调试自定义控件各主要方法执行顺序(分运行时和设计时)
    ASP.Net中的缓存方案(不仅仅是Cache和Session)(我在CSDN上和别人的争论)
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/6652395.html
Copyright © 2020-2023  润新知