使用JQuery / Ajax通过post / get传递变量到另一个文件,并改变鼠标坐标

时间:2013-07-27 09:31:02

标签: php jquery ajax post

我有index.php,它会在移动时侦听鼠标坐标。我想将这些坐标发送到第二个文件(比如second.php)。为此,我在postmoving活动中放置了post字段。但我无法在second.php文件中收到这些值。帮帮我这件事。我在下面附上我的代码:

<html>
<head>
<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript">
jQuery(document).ready(function()
{
   $(document).mousemove(function(e)
   {
      $('#status').html(e.pageX);
      $('#status1').html(e.pageY);

        $.post("second.php",
        {
            x:10,
            y:20
        }, function coord(data)
        {   
            $("#div1").load("second.php");  },"html"

        }


   }); 



})

</script>
<body>

<h2 id='status'>
</h2>

<h2 id="status1">
</h2>
<div id="div1"></div>

</body>
</html>

并且第二个文件通常接收post值并在添加后返回它。我是在走错了轨道还是有另一种方法可以做到这一点。帮助我。

2 个答案:

答案 0 :(得分:2)

我建议你不要做这件事,每次你移动鼠标时你发送一个请求是非常难以管理的另一种方式来做你想做的事。
但是这段代码适用于您的范围:

<script type="text/javascript">
jQuery(document).ready(function()
{
   $(document).mousemove(function(e)
   {
      $('#status').html(e.pageX);
      $('#status1').html(e.pageY);
      $.ajax({
        type: 'POST',
        url: 'second.php',
        data: { 
            'x': '10', 
            'y': '20' 
        },
        success: function(msg){
            //what you want after request
        }
    });
  });
</script>

答案 1 :(得分:0)

虽然您可以使用以下代码发送数据,但很难为您快速更改值,但我认为最好在某些时间间隔内从'second.php'读取数据。

$.ajax({
            type: "POST",
            async: true,
            url: 'second.php/Your_function_name',
            data: { 'x': anything , 'y': anything},       
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(r) { 
            alert(r.d); // returned value                         
            }
        });

如果您决定从第二个文件中读取数据,请在第一个文件中创建一个返回值数组的方法,然后

$(document).ready(function() {
GetMousePosition();
}
function GetMousePosition()
{
    $.ajax({
                type: "POST",
                async: true,
                url: 'first.php/GET_MOUSE_VALUES',     
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(r) { 
                MousePositionChanged(r.d[0] , r.d[1]);
                }
            });
     setTimeout(function {GetMousePosition();} , 1000);//Get Values every one second
}

编辑:在第二种解决方案中,您可能会丢失一些值,可以通过创建一个节省最后(可能)5个鼠标位置的数组来轻松管理。最后发送数组。这就是全部