将一个php变量从js传递到php,并返回内容问题


Pass a php variable from js to php and return content issue

我试图将一个$_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"]

,你在这里做错了

  1. GET变量

    <?php $page = $_GET['url'];//Use quotes?>
    
  2. 使用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();
});