快速提问。我知道这是一个在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'];
}
它一直没有显示任何内容,希望有人可以帮助我,提前谢谢!
答案 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');
}
});
});