我试图将一个$_GET变量从js传递到php,并从php返回内容。我试过第1页:PHP代码
<?php $page = $_GET[url];?>
JS代码
var foo = '<?php echo $page ?>';
$.post('fbapp.php', {url: 'foo'});
$("#continut").load('fbapp.php', function () {
$('.loader').fadeOut();
});
但每次发送的变量为空时,以及当我尝试调试时我得到的fbapp.php文件中的$_POST变量:
array (size=0)
empty
有什么想法吗?
当您打算使用JavaScript变量foo
时,您使用的是字符串'foo'
。
$.post('fbapp.php', {url: foo});
您正在发送POST请求并在GET数组中查找变量。尝试使用$_POST["url"]
,你在这里做错了
-
GET变量
<?php $page = $_GET['url'];//Use quotes?>
-
使用js变量适当的
$.post('fbapp.php', {url: foo}); // here 'foo' will be string
试试这个:
<?php $page = $_GET['url'];?>
var foo = '<?php echo $page ?>';
$.post('fbapp.php',
{
url: foo
}
);
$("#continut").load('fbapp.php', function () {
$('.loader').fadeOut();
});
注意:将foo
作为变量而非字符串发送。
将第一行更改为
<?php $page = isset($_GET['url']) ? $_GET['url'] : '';?>
并在中使用var而不是字符串
var foo = '<?php echo $page ?>';
$.post('fbapp.php', {url: foo});
$("#continut").load('fbapp.php', function () {
$('.loader').fadeOut();
});