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 请求过来的变量.
追问
感觉你的答案最符合我的需求,只是我还是碰到了问题。
test.php文件中
onchange事件触发test()函数,并将赋值。
<script>
function test(){
var x="abc"
$.ajax("test.php?x="+x)
}
test.php文件中
echo $_REQUEST["x"]并未获取到有效值。echo没有输出。
请问,这到底是什么原因。
追答
是因为 <script>中并没有输出由 php 传回的结果.
改成这个试试看.
1
2
3
4
5
6
<script>
function test(){
var x="abc"
$.ajax("test.php?x="+x),null,function(data){alert(data)})
}
</script>
要用javascript调用php获取数据库接口,是一个很常见的前后端交互操作通过javascript发送http请求php的API接口,php连接数据库并查询结果,最后返回出来
这样javascript就能获取到数据库的数据
在js中调用php的方法是直接在script标签的src属性中嵌入要访问的php地址。
1、JS方式调用PHP文件并取得PHP中的值
举例说明:
如在页面test_json1中用下面这句调用:
<script type="text/javascript" src="/index.php/test/testjson2">
</script>
<script type="text/javascript" >
alert(jstext)
</script>
2、在test_json2.php中有这样一段PHP代码:
<?php
$php_test='I come from PHP!'
echo "var test='$php_test'"
echo "var jstext="."'$php_test'"
?>
当执行test_json1.php文件时,就会调用test_json2.php文件,并将b.php文件的输出作为JS语句来执行,
所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值。
3、调用结果: