1

我正在尝试使用 jquery $.ajax 方法将鼠标位置发送到服务器,但我无法使其正确。

    $(document).ready(function (e) {
        var x = e.pageX;
        var y = e.pageY;
        $(document).mousemove(function () {
            $.ajax({
                type: "POST",
                url: "get_position.php",
                data: {
                    pos_x: x,
                    pos_y: y
                }
            });
        });
    });

此代码使浏览器崩溃。这样做的正确方法是什么?

4

1 回答 1

3

您在每次鼠标移动时都发送一个 AJAX 请求。那必须使任何浏览器崩溃。

相反,在每次鼠标移动时将鼠标坐标存储在某个变量上,但不要每次都将它们发送到服务器。定期将它们发送到服务器,例如每分钟左右一次。

即类似的东西:

var coords[0, 0];
$(document).mousemove(function (e) {
   coords = [e.pageX, e.pageY];
});

function sendThem() {
    $.ajax({
        type: "POST",
        url: "get_position.php",
        data: {
            pos_x: coords[0],
            pos_y: coords[1]
        }
    });
}

setInterval(sendThem, 1000);
于 2013-03-20T14:52:15.637 回答