这种方法就是ajax数据传输,异步数据交互
//这里用到了jquery的插件,使用前需引用jquery.js<script>
function keyUp(e) {
var currKey=0,e=e||event
currKey=e.keyCode||e.which||e.charCode
//如果是空格
if(currKey == 32){
$.ajax({
url: 'save.php',
data: $('#id').val()
success: function(data){
alert(data)
}
})
}
}
document.onkeyup = keyUp
</script>
具体代码请谷歌 AJAX
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>
方法1 js的location 或 document 的url传值方法2 js的submit提交
方法3 js的ajax
数据可以是简单的字符串 也可以是 json格式或 xml等