使用Ajax将信息发送到PHP脚本

时间:2014-07-01 11:12:41

标签: javascript php jquery ajax post

每次单击按钮时,我都想向php脚本发送ajax命令。对于不同的方向,div被称为r,l,t,b。到目前为止,我已尝试使用下面的代码。但不知怎的,它不起作用。我在jquery上没有很多经验,这就是为什么我在这里要求一个简单的解决方案。我可以写4次相同的功能,但这肯定不是我想要的。

$(document).ready(function(){

function control(id){
    $.ajax({
        type: "POST",
        url: "control.php",
        data: {id: "1"},
        success:  function(data){
            alert(data);
        }
    });
}

$('#r').mousedown(function(){
    control($(this).attr('id'));
});

});

3 个答案:

答案 0 :(得分:3)

首先......

只需给你所有的div一个

 <div id="r" class="direction"></div>
  <div id="l" class="direction"></div>
    <div id="t" class="direction"></div>
      <div id="b" class="direction"></div>

然后重写你的jquery

$(document).ready(function(){
      $('.direction').mousedown(function(){
          $.post("control.php",{id: $(this).attr('id')},function(msg){
               alert(msg);
          });
      });
  });

如果你碰巧从服务器接收JSON ...... 您必须为跨域json指定dataType为'json'或'jsonp'并使用$ .ajax

function control(theid){
$.ajax({
    type: "POST",
    url: "control.php",
    data: {id: theid},
    dataType: 'json',
    success:  function(msg){
        alert(msg);
    }
});

}

或者,如果您想保持简单,就像上面的。.post示例一样......使用getJSON

   $(document).ready(function(){
      $('.direction').mousedown(function(){
          $.getJSON("control.php",{id: $(this).attr('id')},function(msg){
               alert(msg);
          });
      });
  });

答案 1 :(得分:2)

很难确切地知道你在问什么,但基本上你想要多个div的多用途点击事件。

在jQuery中,您可以通过用逗号分隔选择器来添加多个选择器 像这样:

$('#id, .class, element')

如果我正确理解了您的问题,这是一个使用较少代码来提供相同功能的示例。

$(function(){
    $('#r,#l,#t,#b').mousedown(function(){
        $.post('control.php',{id: $(this).attr('id')},function(data){
            //handle data callback
            alert(data);
        });
    });
});

我使用$.post而不是$.ajax,但请记住,如果使用post,get或getJSON等更简单的方法,就I&I而言,您将无法分配错误回调#39;我知道。希望在将来的jQuery版本中有所改变。

答案 2 :(得分:1)

function control(my_id){
    $.ajax({
        type: "POST",
        url: "control.php",
        data: {id: my_id},
        success:  function(data){
            alert(data);
        }
    });
}

使用$_POST['id'];,您应该获得所需的信息。