【问题标题】:Save JS data in Ajax在 Ajax 中保存 JS 数据
【发布时间】:2017-05-29 14:12:32
【问题描述】:

我当前的代码是:

Play.save = function() {

    //Hide the buttons
    this.printButton.visible = false;
    this.saveButton.visible = false;
    this.backButton.visible = false;

    //Force the game to re-render.
    this.game.cameras.render(); //generally not recommended if you can help it

    //Get the canvas information
    var img = this.game.stage.canvas.toDataURL("image/octet-stream");

    this.saveajax(img);

    //Show UI again.
    this.printButton.visible = false;
    this.saveButton.visible = true;
    this.backButton.visible = true;

}

Play.saveajax = function(img){
    $.ajax
    ({
        url: "http://localhost/ourthing/character/save.php",
        type: "POST",
        cache: false,
        data: {
            img: img
        }
    });
}

文件“save.php”有效(当我打开文件时)。它将执行它必须执行的查询。这里的问题是:使用这个脚本,我想用给定的帖子数据(img)更新用户。但它不会按此请求执行。

(我为 var img 创建数据并将此数据发送到 saveajax 函数,该函数将打开 save.php 以执行查询)。

我对 JS/ajax 很陌生。有谁能帮帮我吗?

最好的问候

【问题讨论】:

  • 您的控制台(F12 -> 控制台选项卡)是否有任何错误?
  • 是的,未捕获的 ReferenceError:$ 未在 State.Play.save (dressup-1.0.0.js:474) 的 State.Play.saveajax (dressup-1.0.0.js:502) 中定义) 在 State.Play.checkInputs (dressup-1.0.0.js:495) 在 SignalBinding.execute (kiwi.js:5397) 在 Signal.dispatch (kiwi.js:5289) 在 InputManager._onUpEvent (kiwi.js:18273) ) 在 SignalBinding.execute (kiwi.js:5397) 在 Signal.dispatch (kiwi.js:5289) 在 Mouse.onMouseUp (kiwi.js:18713) 在 HTMLDivElement. (kiwi.js:18636)。它重定向到我创建的 saveajax 函数。
  • 那通常是指不导入jQuery,你是在导入吗?
  • 很简单,你的 jquery 库没有被包含进来。检查 Network 选项卡以获取 JS 引用。并仔细检查 lib 的 url。
  • 哦,我现在感觉很糟糕。很多很多谢谢!现在可以了。多么愚蠢的失败。我真的很高兴你的两个答案这么快!祝你有美好的一天:)

标签: javascript php ajax


【解决方案1】:

显然我不能发表评论,所以我的问题是你在 save.php 上得到了什么 使用类似

的命令
error_log(print_r($_REQUEST,true));

我怀疑这里有 JSON 问题。我们可以看到 save.php 吗? 好的,没有看到您之前的评论,请取消 - 您的 Jquery 不包括在内。

【讨论】:

  • 您好,乔治,感谢您的回复。它已被修复。我必须包括 jQuery。
【解决方案2】:

答案:

我必须包含 jQuery:

<script src="assets/js/jquery.js" ></script >

感谢@Don'tVoteMeDown 和@Lixus

保存.php文件:

$db = framework::getDBO();

    $data = array(
        'canvas_character' => $_POST['img'],
    );

    $db->where('id', 1);
    $db->update('ot_users', $data);

(我使用自己的框架)

【讨论】:

    猜你喜欢
    • 2021-06-11
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多