重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
js仅在 浏览器中运行.
我们提供的服务有:成都网站设计、成都网站建设、外贸网站建设、微信公众号开发、网站优化、网站认证、汾阳ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的汾阳网站制作公司
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
这种方法就是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
不用AJAX,最简单就是传个参数过去
如:function saveGame(str){
window.location.href='url?str=' + str;
}
楼上的是一种跳转的方式。如果你想不刷新处理,获取数据。还是用ajax 。很简单的。给你个例子。这里我我用jquery的$.post
$.post(URL,{参数1:alue,参数2:value2},function(data){
//这里你可以处理获取的数据。我使用是json 格式。你也可以使用其它格式。或者为空,让它自己判断得了
},'json');
方法1:
input type="button" value="f1" onclick="f1()"
script
//方法1
function f1(){
var type = 'aaa';
window.location.href='1.php?type=' + type;
}
/script
1.php 中:
$type = $_GET['type'];
echo $type;
方法2:
script src="jquery-1.10.2.min.js"/script
script
$(document).ready(function(){
var type ='aaa';
$("button").click(function(){
$.post("4-ajax.php",{
type: type,
},
function(data,status){
alert("数据:" + data + "\n状态:" + status);
});
});
});
/script
button向页面发送 HTTP POST 请求,并获得返回的结果/button
4-ajax.php中:
$type = $_POST["type"];
echo $type;
JS向PHP传递数值只有两种方法:GET和POST,GET把参数写在URL上,例如abc.php?param=123,POST的参数在数据里面。
JS调用PHP(无论GET或者POST)一般有两种方式,一是是用HTML窗口,使用GET的例子:
iframe src=abc.php?param=123/iframe
使用POST的例子:
form action=abc.php method=post name=form1
input type=hidden name=param value=123
/form
script language=javascript
form1.param.value=123;
form1.submit();
/script
JS调用PHP(无论GET或者POST)的另外一种方式是是用AJAX,例子代码网上很多,我写一个最简单的:
script language=javascript
var xmlHttp=null;
if (window.ActiveXObject) xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
else if (window.XMLHttpRequest) xmlHttp=new XMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open('POST','abc.php');
xmlHttp.send('param=123');
function handleStateChange(){
if (xmlHttp.readyState==4){
if (xmlHttp.status==200){
alert(xmlHttp.responseText);
}
}
}
/script
两种方案:
1,如果你需要无刷新操作的话,就用AJAX异步操作就行了,将值附带了URL地址里面让PHP程序调用就行了。
2,如果你的页面是可以刷新的话,可以使用HIDDEN控件来实现,先用JS改变Hidden控件的值,然后刷新页面,用php来读取hidden控件的值就行了!