javascript与php交互
womanv 说得很清楚了
JS 是浏览器语言,PHP 是服务器语言,因此JS 无法直接调用 PHP 函数,但PHP 可以调用 JS 函数,方法是:
print("<script type='text/javascript'>alert('OK !')</script>");
如果你想用 JS 与 PHP 通信,最好的办法就是 AJAX 了,如果你只是想调用 PHP 中的变量,则把变量以隐藏域的形式存储起来,赋于 id, 以 document.getElementById('ID') 就可以引用了
⑵ 如何在js中调用php
在js中调用php的方法是直接在script标签的src属性中嵌入要访问的php地址。
1、JS方式调用PHP文件并取得PHP中的值
举例说明:
如在页面test_json1中用下面这句调用:
<scripttype="text/javascript"src="/index.php/test/testjson2">
</script>
<scripttype="text/javascript">
alert(jstext);
</script>
2、在test_json2.php中有这样一段PHP代码:
<?php
$php_test='IcomefromPHP!';
echo"vartest='$php_test';";
echo"varjstext="."'$php_test';";
?>
当执行test_json1.php文件时,就会调用test_json2.php文件,并将b.php文件的输出作为JS语句来执行,
所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值。
3、调用结果:
⑶ js和php在同一个文件中相互获取值的问题
你好php是服务端脚本语言,js是浏览器端脚本语老漏言,除非使用滚慎ajax进行数据提交否则,一但服务端生成好页面传到浏览器端后就不再参与浏览器端的“运算”,所以你想在同一个页面中不重新进行请求就js和php相互获取值是不现实的。
另:
你的代码分析如下:
<script>
varlinka;
linka=window.location.href;
</script>
<?php
$ch[0]="<script>document.write(linka);</script>";
echo$ch[0]."<br/>";
<script>
到这步为止,php获得js的变量非常顺利
下面侍备烂接着
<script>
vark;
k="<?phpecho$ch[0];?>";
alert(k);
</script>
其实你的整个页面都是php的,执行
$ch[0]="<script>document.write(linka);</script>";
这一句的时候,php的$ch[0]仅仅只是被赋予了"<script>document.write(linka);</script>"这个字符串,js代码并没有运行.php也并没有获得js的变量!获得的只是字符串而已.
⑷ 同一php文件中,如何将Js代码中的变量,传递到php代码中。
你没理解 js/php 运行时的顺序和逻辑.
js仅在 浏览器中运行.
php 仅在服务器端运行.
2者交互, 通常通过 http get/post 协议进行交互.
因此, 要将 js 变量传输到 php, 需通过 get/post 将参数传入.
譬如:
<script>
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
</script>
而 test.php 中, 通过 $_REQUEST["x"] 即可拿到js 请求过来的变量.
⑸ Javascript生成JSON怎么和PHP交互
js生成的json发到升耐雹服务器上后,php接到之后本质上是一个字符串,可以用json_decode,将亩核其转换为php变量,
反之,php可以将自己的array等编码为json(json_encode),然后发送吵帆给前端js处理。
⑹ 怎么用PHP与JavaScript做一个动态登录界面请大神救急
首先注册效果是;1、做好注册页面,放置你要的表单,给你的每一个表单取一个名字(名字自定义,不重复即可)。2、用$_post或$_get来提交到php接收页面。3、在php页面里面首先是接收你注册页面过来的信息,用$_POST["表单名字"]或$_GET["表单名字"]方法来接。4、执行sql语句了,把接过来的内容写进数据库就ok了。(insert into );登陆页就是提交过来备陆肢的数据跟数据库里面的数据进行比对的过程,这个没多少代码。把提交过来的数据,通过php接过来之后跟数据库里面的数据库进行查找比对。一致就登陆成功,否则登陆失败。
<?php
/*登陆代码开始*/
if($_GET["act"]=="login")
{
$username=$_POST["username"];
$password=$_POST["password"];
$sql=mysql_query("select username password from user_biao where username='$username' and password='$password'");
if($row=mysql_fetch_array($sql))
{
echo "登陆成功";
}
else{
echo "登陆失败";
}
}
/*登陆代码结束*/
/*注册代码开始*/
if($_GET["act"]=="reg")
{
$username=$_POST["username"];
$password=$_POST["password"];
$sql=mysql_query("INSERT INTO user_biao(username,username) values('$username','$password')");
echo "用户注册悉锋成功";
}
/*注册代仿世码结束*/
?>
⑺ 如何让javascript调用php代码
可以用jquery的类,网上好多例子
如者自己写:如
js中写入
//高哪袜ajax请求
function
httpRequest()
{
this.ro
=
null;
this.initRequest();
}
httpRequest.prototype
=
{
initRequest:
function()
{
var
self
=
this;
if(this.ro
!=
null)
return
this.ro;
try
{
this.ro
=
new
XMLHttpRequest();
}catch(e)
{
this.ro
=
new
ActiveXObject("Microsoft.XMLHTTP");
}
this.ro.onreadystatechange
=
function()
{
if
(self.ro.readyState
==
4)
{
clearInterval(self.tl);
if(self.ro.status
==
200)
self.success();
else
self.failure();
}else
self.loading();
}
},
request:
function(url,obj)
{
obj.method
=
obj.method
||
'get';
url
=
obj.param?url+(url.indexOf('?')>-1?'&'戚激:'?')+obj.param:url;
//alert(url);
try
{
this.ro.open(obj.method,url,true);
if(obj.method
==
'post')
this.ro.setRequestHeader("Content-type","application/x-www-form-urlencoded");
//this.param
=
this.param
||
obj.param;alert(this.param);
this.s
=
obj.onSuccess;
this.l
=
obj.onLoading;
this.f
=
obj.onFailure;
this.el
=
obj.el;
if(obj.timeout)
{
this.t
=
1000*obj.timeout
+
(new
Date()).getTime();
this.tl
=
setInterval(this.listen,500);
}
//alert(this.tl);
this.ro.send(this.param?this.param:null);
}catch(e)
{}
},
success:
function()
{
//alert(this.tl);
if(typeof
this.s
==
'function')
(this.s)(this.ro,this.el);
else
return;
},
loading:
function()
{
if(typeof
this.l
==
'string')
eval(this.l+"()");
else
if(typeof
this.l
==
'function')
(this.l)(this.el);
else
return;
},
failure:
function()
{
if(typeof
this.f
==
'string')
eval(this.f+"()");
else
if(typeof
this.f
==
'function')
(this.f)(this.ro,this.el);
else
return;
},
serialize:
function(fm)
{
//alert('xxxxxxxxx');
var
res
=
[];
var
eles
=
$(fm).elements;
for(var
i=0;i<eles.length;i++)
{
if((eles[i].type
==
'radio'
||
eles[i].type
==
'checkbox')
&&
eles[i].checked
==
false)
{
}
else
if(eles[i].disabled
==
false)
{
res[i]
=
encodeURI(eles[i].name)+'='+encodeURI(eles[i].value);
}
}
this.param
=
res.join('&'缓桐);
//alert(this.param);
},
listen:
function()
{
if(this.tl)
if((new
Date()).getTime()>this.t
&&
this.ro.readyState!=4)
{
this.ro.abort();
clearInterval(this.tl);
}
},
alert:
function(test)
{
//alert(this.serialize(test));
document.write(unescape(this.serialize(test)));
}
}
//简化调用函数
function
$()
{
var
elements
=
new
Array();
for(var
i=0;i<arguments.length;i++)
{
var
element
=
arguments[i];
if(typeof
element
==
"string")
element
=
document.getElementById(element)
||
document.getElementsByName(element)[0];
if(arguments.length
==
1)
return
element;
elements.push(element);
}
return
elements;
}
调用
function
doComment(type)
{
var
obj
=
new
Object();
obj.method
=
'post';
obj.onSuccess=function(r,ele)
{
if(r.responseText
==
'ok')
{
}
};
obj.onLoading=function(){
};
obj.onFailure=function(){
alert('失败');
};
var
oRequest
=
new
httpRequest();
oRequest.serialize('commentform');
oRequest.request("php文件地址?参数名=参数值&参数名2=参数值2,obj);
}
⑻ 如何在Javascript中调用PHP里的函数并可以传递参数
请记拿埋住一条,在文件的的任意位置,都可以写php代码,但是,你必须要用<?php ?>包含起来,枯敏闭
关于你要传参数进去,就必须找到一个间接的方法。
我想到的有两种:
cookie法,你先将var i="test"写入cookie,然后用php的代码读出cookie中的值,然没裂后传递给mystest();
url法,直接给出代码
<?php
if($_GET['value']!=null){
Mytest($_GET['value']);
}
?>
<script>
var i="test";
window.location="?value="+i //跳转到本页面
</script>
⑼ JavaScript和php交互,是不是只能用ajax
不是,可以用js配合flash的as3来与php交互。比如页游里的socket通讯。
还有就是通过配合only ie的activeX控件也可以交互。
(ajax方式实际上也是一种js通过ie activeX控件与后台程序交互的方式,只是所有浏览器都支持ajax方式而已)
最后有个现在来说在国内设计界比较不流行的,通过java的applet与js配合,实现后台交互。不过国外还是有不少的。像facebook,就是一度用applet来实现它的图片上传工具。网页3D游戏也有不少。
⑽ js如何用php去接收数据库中的数据
$.ajax{
type:接收方式,
url:接收的url地址,
data:接收数据,
success:成功后的回调函数
}