1

I'm trying to send mouse position to server with jquery $.ajax method but i can't make it right.

    $(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
                }
            });
        });
    });

this code crashes the browser .What is the right way to do this ?

4

1 に答える 1

3

マウスを動かすたびに AJAX リクエストを送信しています。それはブラウザをクラッシュさせなければなりません。

代わりに、マウスの移動ごとにマウスの座標を変数に保存しますが、毎回サーバーに送信しないでください。それらを定期的にサーバーに送信します。たとえば、1 分に 1 回程度です。

すなわち次のようなもの:

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 に答える