如何使用POST方法将javascript / jQuery变量传递给PHP

时间:2014-05-10 16:22:23

标签: javascript php jquery ajax post

这是非常基本的。我想要做的就是测量浏览器窗口的html宽度,并将该数据传递给PHP脚本,以便我可以调整传递给网站的信息。

我已经将HTML宽度部分缩小了。我只是在使用AJAX将Javascript / jQuery变量传递给PHP脚本时遇到了麻烦。

这是Javascript / jQuery。它是用PHP编写的,以便我以后可以使用include()函数。

echo 
'<script> 
    htmlWidth = $("html").width();
    $.ajax({
        type: "POST",
        url: "mobileView.php",
        data:{ width: htmlWidth }
    }) 
</script>';

这是PHP:

$width = $_POST['width'];
function mobileView(){
    if ($width < 950){
        return true;
    } else{
        return false;
    }
}
mobileView();

2 个答案:

答案 0 :(得分:7)

以下是可在文件中起作用的代码:

对于PHP部分,您应该将值传递给函数并调用函数。

我猜你需要从php函数返回给客户端返回数据。 然后,对于ajax部分,您必须捕获返回数据。

<?
if(isset($_POST['width'])){
    $width = $_POST['width'];

    function mobileView($width){
        if ($width < 950){
            echo 'true';
        } else{
            echo 'false';
        }
    }
    mobileView($width);

}else{
?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script> 
    htmlWidth = $("html").width();
    $.ajax({
        type: "POST",
        url: "mobileView.php",
        data:{ width: htmlWidth }, 
        success: function(data){
            console.log(data); 
        }
    })
</script>

<?
};

?>

答案 1 :(得分:2)

试试这个。

您的AJAX

htmlWidth = $("html").width();
$.ajax({
    type: "POST",
    url: "mobileView.php",
    data:{ width: htmlWidth, somevar : "yes" },
    success: function(data){
        console.log(data); 
    }
})

您的PHP

if(isset($_REQUEST['somevar'])){
     $width = $_POST['width'];

    function mobileView($width){
        if ($width < 950){
            echo 'true';
        } else{
            echo 'false';
        }
    }
    mobileView($width);
}