如何将javascript值发送到PHP页面,然后在PHP页面中引用该值?
假设我有某种javascript AJAX解决方案,例如:
var id=5;
obj.onreadystatechange=showContent;
obj.open("GET","test.php",true);
obj.send(id);
我想在test.php中使用这个特定的id。我怎么能这样做?
答案 0 :(得分:2)
将您的代码更改为:
obj.open("GET","test.php?id=" + id,true);
obj.send();
然后在test.php中使用$_GET['id']
答案 1 :(得分:2)
在javascript中(我正在创建一个函数,因此您可以将其分配给其他事件)
//jQuery has to be included, and so if it's not,
//I'm going to load it for you from the CDN,
//but you should load this by default in your page using a script tag, like this:
//<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
window.jQuery || document.write('<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"><\/script>')
function sendValueGet(passedValue){
jQuery.get('test.php', { value: passedValue });
}
function sendValuePost(passedValue){
jQuery.post('test.php', { value: passedValue });
}
然后在你的PHP中:
<?php
if( $_REQUEST["value"] )
{
$value = $_REQUEST['value'];
echo "Received ". $value;
}
?>
请注意,我在javascript“object”{ value: ... }
和PHP“REQUEST”变量$_REQUEST["value"]
如果你想给它一个不同的参考名称,那么你需要在两个地方都改变它。
使用GET或POST是您的首选。
答案 2 :(得分:1)
// GET
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var x=xmlhttp.responseText;
alert(x);
}
}
xmlhttp.open("GET","test.php?q="+id,true);
xmlhttp.send();
在test.php中
$id=$_GET['q']
// POST
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var x=xmlhttp.responseText;
alert(x);
}
}
xmlhttp.open("POST","test.php",true);
xmlhttp.send("x=id");
在test.php中
$id=$_POST['x']