当我点击提交按钮时,为什么我没有得到任何东西?

时间:2017-01-28 19:03:54

标签: php jquery html json

这是html代码..

    <!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#button").click(function(){
            var senda=$("#ans").val();
            $.ajax({
                type:"POST",
                url:"ajax.php",
                data:{"answer":"senda"},
                dataType:"json",
                success: function()(msg,string,jqXHR){
                    $("#result").html(msg+string+jqXHR);
                }
            });
        });
    });



</script>
</head>
<body>
Hey what has a head and a tail but no body?
<input type="text" id="ans" name="ans" />
<input type="button" id="button" value="submit" />
<p><div id="result"></div>
</body>
</html>

这是php文件的代码ajax.php: -

<?php 

$y=$_REQUEST['answer'];
echo "hey $y ";
if($y=='coin'){
    echo "hey it worked";
}

?>

请告诉我我哪里出错。最初的html代码运行正常,但是当我点击提交按钮时没有任何反应。我现在这可能只是一个非常初学者的问题,实际上我只是在学习Jquery和php。我实际上要做的是从用户那里获取输入并检查输入是否与字符串匹配然后将用户带到新页面。所以任何帮助都将非常感激。

1 个答案:

答案 0 :(得分:1)

  1. 修复您的ajax数据:

        var senda=$("#ans").val();
        $.ajax({
            type:"POST",
            url:"ajax.php",
            data:{"answer":senda} // without quotes
        }).done(function(response) {
            $("#result").html(response);
        });
    
  2. 使用参数名称处理传递的数据:

    $y = $_POST['answer'];
    echo "hey $y ";
    if ($y == 'coin') {
        echo "hey it worked";
    }