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

Sol*_*ett 1 javascript php ajax jquery 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>';
Run Code Online (Sandbox Code Playgroud)

这是PHP:

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

小智 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>

<?
};

?>
Run Code Online (Sandbox Code Playgroud)