使用AJAX将数据从Javascript移动到PHP


Moving data from Javascript to PHP using AJAX

因此,我试图移动我使用javascript获取的数据,以便在PHP中使用它。当用户点击我的网站中的某个div时,我会获取数据,代码看起来是这样的。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
function recordClick(event){
    var x = event.clientX + $(window).scrollLeft();
    var y = event.clientY + $(window).scrollTop();
    var width = window.innerWidth;
    var height = window.innerHeight;
    var url = document.URL;
    $.ajax({
                type: "POST",
                url: url,
                data: {x:x, y:y, width:width, height:height},
                success: function(){
                  }
           });
}
</script>

现在,我只是想验证我是否得到了正确的数据,这样我的PHP看起来就有点像

<?php
    $x = $_POST['x'];
    $y = $_POST['y'];
    $width = $_POST['width'];
    $height = $_POST['height'];
    echo "<p>" .$x. ", " .$y. ", " .$width. ", " .$height. "</p>";
?>

我已经确认我在Javascript端收到了正确的数据,但在PHP端,我调用的所有$_POST都是空白的。同样值得注意的是,我对AJAX API的引用是在一个不同的"头"文件中,但我不知道是什么原因导致了这种情况。

发布json数据时使用JSON.stringify()

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
function recordClick(event){
    var x = event.clientX + $(window).scrollLeft();
    var y = event.clientY + $(window).scrollTop();
    var width = window.innerWidth;
    var height = window.innerHeight;
    var url = document.URL;
    $.ajax({
                type: "POST",
                url: url,
                data: JSON.stringify({x:x, y:y, width:width, height:height}),
                success: function(){
                  }
           });
}
</script>