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>
1:HTML中的值如何传到JS,下面假设是文件1.php复制代码 代码如下:
<html>
<body>
<form action="1.php"
method="post">
name:<input type="text"
name="username" id="username">
rename:<input
type="text" name="username1" id="username1">
<input
type="button" value="submit" on CliCk="get()">
</form>
</body>
</html>
JS假如想取文本框中用户输入的name值,这样写
复制代码 代码如下:
<script
language='JavaScript'>
function get()
{
var
n=document.getElementById('username').value
alert
(n)
}</script>
这样的话在有调用JS
get()时就会弹出警示框,里面的内容就是name的值。
2:假如说JS中的这个取到的name值要传回rename的文本框中,这样写
复制代码 代码如下:
<script language='JavaScript'>
function get()
{
var n=document.getElementById('username').value
document.getElementById("username1").value=n
}</script>
这样的话在下面调用get()就会自动显示你上面name输入的值。
3:PHP中取页面的值
这个我想大家都会了吧
复制代码 代码如下:
<?php
$name=$_REQUEST["username"]
echo
$name
?>
4:PHP的值传回页面
在HTML中插入PHP语言,可以调用PHP中变量的值,也可用Smarty(推荐)。
有了以上这些,不管是HTML页面里的值还是JS中变量的值,都可以轻松的传入PHP,当然,PHP的值也可传到想要的地方。
不用AJAX,最简单就是传个参数过去如:function saveGame(str){
window.location.href='url?str=' + str
}
楼上的是一种跳转的方式。如果你想不刷新处理,获取数据。还是用ajax 。很简单的。给你个例子。这里我我用jquery的$.post
$.post(URL,{参数1:alue,参数2:value2},function(data){
//这里你可以处理获取的数据。我使用是json 格式。你也可以使用其它格式。或者为空,让它自己判断得了
},'json')