javascript - 使用 AJAX jQuery 进行投票

标签 javascript php jquery ajax json

我创建了一个简单的民意调查,该民意调查将使用 AJAX JSON jQuery 发送到服务器端并得到回显。它无法正常工作。请告诉我哪里出错了。我是 jQuery 和 JSON 的新手。

JavaScript

<script>
  function sendVote(){
    var voteS = $("#vote").val();
    $(document).ready(function(){
      $("#vote").click(function(){
        $.ajax({
          type : "POST",
          url : "poll_vote.php",
          data : "vote="+voteS,
          dataType: "JSON",
          success : function(data){
            concole.log("Data Submitted " + data);
            $("#result").html(data);
          },
          complete :function(data){},
          error : function(error, data){
            console.log("Error. not Working" + error+" "+ data);
            alert("Error. not Working"+ error);
            $("#result").html(error+ data);
          }
        });
      });   
    });
  }
</script>

PHP

<?php
$vote = $_POST['vote'];
if (isset($vote)) {
    $list  = array('vote' => $vote);
    $encode = json_encode($list);
 echo $encode;
}
?>

HTML

<body>
  <h3> What is your Gender? </h3>
  <form>
    Male : 
    <input type = "radio" name = "vote" value= "0" id="vote" onclick = "return sendVote()" />
    <br />
    Female :
    <input type = "radio" name = "vote" value = "1" id="vote" onclick = "return sendVote()">
  </form>
  <p><div id= "result"></div></p>

</body>

最佳答案

您选择了不明确的选择器,使用了具有非唯一 ID 的无效标记。

更改此:

var voteS = $("#vote").val();

至:

var voteS = $("input[name='vote']:checked").val();

并且,正如您通过 dataType: "JSON" 指定的那样,您期望在 success 部分中有一个 json 对象,因此您只需在此处访问该对象的 vote 属性:

$("#result").html(data.vote);

同样成功的是,你有拼写错误:concole.log而不是console.log

在您的 PHP 文件中,您应该检查是否设置了 $_POST['vote']:

if (isset($_POST['vote'])) {
    $vote = $_POST['vote'];
    $list  = array('vote' => $vote);
    $encode = json_encode($list);
    echo $encode;
}

并从此函数中删除 $(document).ready(function(){ ),在您实际调用该函数所在的函数之前,它不会将此事件绑定(bind)到该元素。

关于javascript - 使用 AJAX jQuery 进行投票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29704204/

相关文章:

php - 从由另一条记录分组的表中获取第一条记录 - PHP、MYSQL

javascript - 无法将 HTML 数据属性值解析为 Javascript 对象

php - 通过 AJAX 从帖子列表中删除帖子?

javascript - 如何在 JavaScript 中直接访问 [[PrimitiveValue]] 值

javascript - 根据 jquery 中填写的字段数计算并自动更新百分比

javascript - stub 连接中间件

php - sql 查询和 php 脚本来显示每天的平均问题

javascript - 通过选项下拉 Javascript 更改字体样式

PHP PDO 获取行为

javascript - 检查图像透明度