php怎么向js传值

JavaScript024

php怎么向js传值,第1张

php给javascript传值,算是两个方法吧,

一个就是主动刷新,php把值写到页面上,比如 var a='<?php echo $a?>'

另外的方法就是通过js异步去拉取,通过ajax来实现,大体过程是:js 发起一个异步请求给php程序,php返回数据库的数据,js通过接收这个数据来在做处理。

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 请求过来的变量.

追问

感觉你的答案最符合我的需求,只是我还是碰到了问题。

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>

你没理解 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 请求过来的变量.