jQueryAJAX函数什么都没做


jQuery AJAX function not doing anything

我有一个表单,只要有人单击单选按钮,我就想插入这个表单的值。没有比我根本不擅长jQuery更好的借口了。这就是我目前所掌握的。

HTML:

<form>
    <input type="radio" checked="true" id="q1r1" name="q1" value="Awesome">
    <label class="button1" for="q1r1">Awesome</label>
    <input type="radio" id="q1r2" name="q1" value="Ok">
    <label class="button2" for="q1r2">Ok</label>
    <input type="radio" id="q1r3" name="q1" value="Awful">
    <label class="button3" for="q1r3">Awful</label>
</form>

get.JSON:

$('#q1r1').on('click',function(){
    var get_var_name = $(this).val();
        $.getJSON('json/question1.php?team=<?php echo $teamid ?>',{q1:get_var_name},function(data,status){
            console.log(data);
            if(status == 'success'){
                console.log(data);
            } else {
                alert('Status: ' + status);
            }
            });
        });

json/question1.php:

<?php
    require('db_connect.php');
    session_start();
    $uid = $_SESSION['uid'];
    if($_GET['q1']) {
        $teamid = $_GET['team'];
        $insertq1 = $_GET['q1'];
        $sql = "UPDATE result 
        SET q1='$insertq1'
        WHERE userid='$uid' AND teamid='$teamid' ";
        $result = $mysqli->query($sql);
    }
?>

正如你可能看到的,我真的一点都不擅长,但这就是我计划的:

  1. 登录的用户选择一个选项,"真棒"、"确定"或"真棒"
  2. 在没有刷新页面或单击提交按钮的情况下,获取。JSON将使用值teamid(保存在$teamid中)和q1(用户选择的值)自动推动question1.php
  3. php文件无声地用值更新用户数据库,每个人都很高兴

问题是,到目前为止,当我点击"真棒"时,什么都不会发生,我不知道为什么。我一直在尝试遵循多个指南,但我不确定如何解决这个问题。我们非常感谢任何建议或帮助。

尊敬的部长

附言!

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 

包括在内。

只需在输入中添加onchange()(在本例中为单选类型)即可调用一个javascript函数,该函数从url获取数据,而无需刷新页面,我已经修改了您的代码,并用自己的php进行了测试。

你的html必须像

  <form>
      <input type="radio" checked="true" id="q1r1" name="q1" value="Awesome" onchange="GrabData(this)">
      <label class="button1" for="q1r1">Awesome</label>
      <input type="radio" id="q1r2" name="q1" value="Ok" onchange="GrabData(this)">
      <label class="button2" for="q1r2">Ok</label>
      <input type="radio" id="q1r3" name="q1" value="Awful" onchange="GrabData(this)">
      <label class="button3" for="q1r3">Awful</label>
  </form>

然后,您可以通过添加在html中编写此javascript代码

<script>.......</script>

或者把它放在另一个文件.js中(别忘了从你的html页面调用它)

JS代码-->

function GrabData(Passeddata){
  var radioValue = Passeddata.value;
  var URL = "json/question1.php?q1="  + radioValue + "&teamid="<?php echo $teamid; ?>;
  $.ajax( {
      url : URL,
      type : "GET",
      dataType: 'json',
      success : function(data) {
        if (data == "") {
          alert("data is empty");
        }else{
          console.log('got your data back sir');
        }
      }
  });
}

请告诉我它是否有效,或者是否存在其他问题