小编典典

PHP + Jquery-通过ajax将值传递给php并检查变量

ajax

我无法使以下PHP + jQuery正常工作-我要脚本执行的所有操作是通过ajax传递值,并让php抓住它,检查它是否匹配并加1。

这是我编写的代码:

<?php
$score = "1";

$userAnswer = $_POST['name'];

if ($_POST['name'] == "145"){
    $score++;
}else{
    //Do nothing
}

echo $score;

?>


<script type="text/javascript">

$(document).ready(function() {

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

    var value = "145";

    alert(value);

    $.ajax({
        url: 'processing.php', //This is the current doc
        type: "POST",
        data: ({name: value}),
        success: function(){
            location.reload();
       }
    });


    });
});

</script>

<p id="raaagh">Ajax Away</p>

感谢您的帮助,在两种情况下我都将GET更改为POST,这并不令人高兴-还有其他问题。


阅读 232

收藏
2020-07-26

共1个答案

小编典典

首先:不要回到黑暗的时代…不要使用相同的脚本来生成HTML并响应ajax请求。

我对您要执行的操作一无所知…让我更改您的代码,这样至少可以使您理解并记录正在发生的事情。似乎问题在于您正在从成功处理程序中调用location.reload。

// ajax.php-如果name参数是145,则输出2,否则输出1(????)

<?php
$score = "1";    
$userAnswer = $_POST['name'];    
if ($_POST['name'] == "145"){
    $score++;
}       
echo $score;    
?>

// test.html

<script type="text/javascript">  
$(document).ready(function() {    
    $("#raaagh").click(function(){    
        $.ajax({
            url: 'ajax.php', //This is the current doc
            type: "POST",
            data: ({name: 145}),
            success: function(data){
                // Why were you reloading the page? This is probably your bug
                // location.reload();

                // Replace the content of the clicked paragraph
                // with the result from the ajax call
                $("#raaagh").html(data);
            }
        });        
    });
});

</script>

<p id="raaagh">Ajax Away</p>
2020-07-26