AJAX调用不执行PHP函数

时间:2017-08-30 13:43:20

标签: php ajax

我做了一个AJAX电话:

<div>
  <form id= "voting"  method="post">
    <input type="radio" name="rating" value='1'> 1
    <input type="radio" name="rating" value='2'> 2
    <input type="radio" name="rating" value='3'> 3
    <input type="radio" name="rating" value='4'> 4
    <input type="radio" name="rating" value='5'> 5
  </form>
</div>

<script type="text/javascript">
  $(document).ready( function(){

    var value =[];

    $("#voting").click(function(){

      var value = $('input[name=rating]:checked').val();

      alert(value);

      $.ajax({
        asunc: true,
        type: "POST",
        url: "lib/index.php",
        data: { "vote" : value },
        error: function() {
          alert("Oops");
        },
        succes: function(data, textstatus, XMLHttpRequest, refresh ){
          alert("YEAH");
        }

      });
  });
});

</script>

当我点击单选按钮时,它会弹出一个值。 on index.php是一个将数据放入MySQL数据库的函数:

public function voteinject(){
  if (isset($_POST['vote'])) {
    error_log(print_r($_POST['vote'], true));

    $type_='W';
    $rating = $_POST['vote'];
  }

  $query  = "INSERT INTO vote (type, number) VALUES ('$type', $rating)";
  $result = mysqli_query($this->link, $query);
  return new JsonResponse($rating);
}

所以重点是,我可以点击单选按钮。然后会出现一个弹出好的结果(没有错误)。唯一缺少的是执行投注inject()函数。

如果从函数中取出代码仍然没有结果:

if (isset($_POST['vote'])) {
  error_log(print_r($_POST['vote'], true));


  $type_='W';
  $rating = $_POST['not'];


  $query  = "INSERT INTO vote (type, number) VALUES ('$type', $rating)";
  $result = mysqli_query($this->link, $query);
  return new JsonResponse($rating);
}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

根据您提供的PHP代码段,voteinject()函数已声明但从未调用过。要解决这个问题,请添加以下内容......

voteinject(); 

或者将代码移到函数外部,然后将其作为程序化的PHP执行,这是老式但可行的。