如何将js变量赋值给php

JavaScript022

如何将js变量赋值给php,第1张

首先,需要赋值的javascript脚本必须要写在PHP的页面中,不能引入进来。在这个页面里,直接写PHP代码就可以了,比如var a = "",这样就行了,javascript能够获取后台传入的变量$a.

您好!很高兴为您解答:

目测这种情况用ajax;

<input type="button" value="先传给php在让php打印出来" id="btn"/>

<script>

var btn=document.getElementById('btn')

var a='123456'

btn.onclick=function(){

var ajax=new XMLHttpRequest()

ajax.open('GET','a.php?use='+a,true)

ajax.onreadystatechange=function(){

if(ajax.readyState==4){

if(ajax.status==200){

alert(ajax.responseText)

}

}

}

ajax.send()

}

</script>

以下是php

<?php

$a=$_GET['use']

echo $a

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

追问

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

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>