我想向 php 发送一个 javascript 变量,我想从 PHP 将其存储在数据库中。
现在,当我在 Google 上搜索时,可以看到很多相关信息。大多数时候我看到的是 AJAX,但是当我使用 AJAX 时,这段代码不会运行。我试过这个例子 http://www.tutorialspoint.com/ajax/ajax_database.htm并在 Stackoverflow 上尝试了一些答案。
可能不行,因为我用的是Phaser这个框架。也许我尝试的时间太长了,我不再想清楚了,所以我需要重新审视一下。
在我的 Phaser 游戏中,我有不同的预制件。一个叫做 gameOver.js,我可以通过这行代码访问分数:
var score = this.game_state.score;
这很简单。好的,现在我必须将它发送到 PHP。我使用了 jQuery 选择器(jQuery.post() 和 jQuery.ajax())和上面的教程,但没有成功。
目前我的 Javascript 中有这个:
Game.GameOver.prototype.submitScore = function () {
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
var score = this.game_state.score;
var queryString = "?score=" + score ;
ajaxRequest.open("GET", "senddata.php" + queryString, true);
ajaxRequest.send(null);
}
这在 senddata.php 中
$score = $_GET['score'];
echo "score:" . $score;
我想最后一部分没那么容易,但我想不通!所以希望有人能帮助我。
最佳答案
如果您只想向 jQuery 中的页面发送 GET 请求,您应该能够使用如下内容:
Game.GameOver.prototype.submitScore = function () {
$.ajax({
url: 'senddata.php?score=' + this.game_state.score
})
.done(function () {
console.log('done');
})
.fail(function () {
console.log('failed');
});
}
这在 jQuery 2.2.0 和 Phaser 2.4.4 中按预期工作。
关于javascript - 使用 Phaser 框架将 Javascript 值发送到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34660092/