Ajax帖子不起作用

时间:2016-12-21 14:06:30

标签: javascript php jquery ajax

快速提问。我知道这是一个在stackoverflow上解决了很多次的问题,但如果我试着让它工作,那么没有任何方法可以帮助我。我做得这么糟糕吗?这是我的代码:

$('.submit').click(function(){
    $.ajax({
        type: 'POST',
        url: 'http://localhost/clicky%20game/index.php',
        data:
        {
            userScore:score
        },
        succes: function(){
            alert('succes');
        }
    });
});

这段代码在script.js内(链接到click.php),它可以将数据发送到index.php。但事实并非如此,我用代码(在index.php中)检查:

if (isset($_POST['userScore'])){
       echo $_POST['userScore'];
   }

它一直没有显示任何内容,希望有人可以帮助我,提前谢谢!

2 个答案:

答案 0 :(得分:0)

这不是Ajax的工作方式。 $ _POST是一种PHP方法,用于存储页面之间的全局变量。如果您将javascript变量传递给页面,那么PHP将永远不会看到它。如果可以这样做,那么每个人都会在几秒钟内被黑客入侵。您应该研究REST API。这就是Ajax请求的目的。 HTTP POST和PHP POST是两个非常不同的东西,但它们完全相同。

您要做的是使用POST方法将带有PHP的POST变量与Form一起存储。然后你可以将它发送到index.php。

<form action="index.php" method="POST">
<inputs></inputs>
</form>

答案 1 :(得分:0)

由于您使用常规button点击,因此您必须阻止默认提交表单:

$('.submit').click(function(e){ // added the `e` for the `event`
    e.preventDefault(); // this will prevent the default action of the submission of the form.
    $.ajax({
        type: 'POST',
        url: 'http://localhost/clicky%20game/index.php',
        data:
        {
            userScore:score
        },
        succes: function(){
            alert('succes');
        }
    });
});