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>


 

js和 php 介绍的更多相关文章

  1. FormData js对象的介绍和使用

    FormData js对象的介绍和使用 FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台. 在使用ajax提交时,使用FormData对象可以减 ...

  2. doT.js具体使用介绍

    官网: http://olado.github.iodoT.js具体使用介绍 用法: {{= }} for interpolation {{ }} for evaluation {{~ }} for ...

  3. vue系列---Mustache.js模板引擎介绍及源码解析(十)

    mustache.js(3.0.0版本) 是一个javascript前端模板引擎.官方文档(https://github.com/janl/mustache.js) 根据官方介绍:Mustache可以 ...

  4. JS 各种引擎介绍

    JS 各种引擎介绍 http://www.oschina.net/project/tag/296/javascript-engine 不同浏览器有不同的JS引擎: WebKit , Safari浏览器 ...

  5. 【FIORI系列】SAP OpenUI5 (SAPUI5) js框架简单介绍

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FIORI系列]SAP OpenUI5 (SA ...

  6. jquery.form.js官方插件介绍Form插件,支持Ajax,支持Ajax文件上传

    jquery.form.js官方插件介绍Form插件,支持Ajax,支持Ajax文件上传 http://www.malsup.com/jquery/form/#getting-started [JQu ...

  7. [转]为什么我要用 Node.js? 案例逐一介绍

    原文地址:http://blog.jobbole.com/53736/ 介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样, ...

  8. HTML5系列四(特征检测、Modernizr.js的相关介绍)

    Modernizr:一个HTML5特征检测库 Modernizr帮助我们检测浏览器是否实现了某个特征,如果实现了那么开发人员就可以充分利用这个特征做一些工作 Modernizr是自动运行的,无须调用诸 ...

  9. 【转】为什么我要用 Node.js? 案例逐一介绍

    原文转自:http://blog.jobbole.com/53736/ 介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样, ...

  10. js模板引擎介绍搜集

    js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...

随机推荐

  1. webx启动流程

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTFRpYW5jaGFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  2. 使用literal语法格式化字符串

    支持arm64之后,格式化字符串的时候会遇到一些问题,主要与NSInteger的定义有关: #if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET ...

  3. 【Mongodb教程 第四课 】MongoDB 创建集合

    reateCollection() 方法 MongoDB db.createCollection(name, options) 是用来创建集合. 语法: 基本的 createCollection()  ...

  4. c语言实现输出一个数的每一位

    比方输入1234.在屏幕上打印出1 2 3 4 代码展示: 方法一: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #includ ...

  5. JMeter Web测试快速入门教程

    学习前的准备 学习本教程前,你的电脑上至少应该有Apache JMeter这款软件.如果你没有,点击此处下载. 当你点进去后,你会发现它是一个依赖Java的软件 因此如果你电脑上没有Java环境,你应 ...

  6. 硬件开发之pcb---PCB抗干扰设计原则

    一 电源线布置: 1.电源线.地线的走向应与资料的传递方向一致. 二 地线布置: 1.数字地与模拟地分开. 2.接地线应尽量加粗,致少能通过3倍于印制板上的允许电流,一般应达2~3mm. 3.接地线应 ...

  7. WebService注解汇总

    Web Service 元数据注释(JSR 181) @WebService 1.serviceName: 对外发布的服务名,指定 Web Service 的服务名称:wsdl:service.缺省值 ...

  8. VS2013如何调用别人发布的WebService程序

    这篇经验会告诉我们如何调用别人发布的WebService,并且需要注意的事项.现在就拿获取天气预报的接口举例,因为文中不允许有链接,所以在下文图中有WebService链接的地址. 工具/原料 VS2 ...

  9. RK平台LCD调试说明【转】

    本文转载自:http://blog.csdn.net/u014770862/article/details/76274951?locationNum=2&fps=1 RK平台LCD调试说明 原 ...

  10. 《Visual C++ 2010入门教程》系列四:VC2010中初学者常见错误、警告和问题

    <Visual C++ 2010入门教程>系列四:VC2010中初学者常见错误.警告和问题   这一章将帮助大家解释一些常见的错误.警告和问题,帮助大家去理解和解决一些常见问题,并了解它的 ...