【问题标题】:Send Javascript value to PHP with Phaser framework使用 Phaser 框架向 PHP 发送 Javascript 值
【发布时间】:2016-04-12 03:14:37
【问题描述】:

我想向 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;

我猜最后一部分不是那么容易,但我想不通!所以希望有人可以帮助我。

【问题讨论】:

  • 您的请求有何回应?
  • 浏览器支持好像不是很好

标签: javascript php jquery ajax phaser-framework


【解决方案1】:

如果您只想在 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 中可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多