由于不可预见的原因,JavaScript返回未定义的变量

时间:2014-04-15 16:02:11

标签: javascript jquery string parse-platform

我正在使用JavaScript和parse.com

以下代码未在控制台日志中返回任何错误,并且正在按预期在parse.com中创建新对象(在myBadges下)。但由于某种原因,“BadgeName”未被捕获并显示为“未定义”。

应从“badgeselected”变量填充“BadgeName”列。但是“BadgeName”似乎没有被捕获为变量?

任何人都可以帮助我理解为什么会这样吗?

以下是parse.com后端的屏幕截图。

enter image description here

var badgeselected = $("#go").attr("src"); 
    var MyBadges = Parse.Object.extend("myBadges");
    var userbadges = new MyBadges();

    $(document).ready(function () {
                $("#send").click(function () {
                   userbadges.set("BadgeName", badgeselected);
                         console.log("done");

                    userbadges.save(null, {
                        success: function (results) {
                            // The object was saved successfully.
                            location.reload();
                        },
                        error: function (contact, error) {
                            // The save failed.
                            // error is a Parse.Error with an error code and description.
                            alert("Error: " + error.code + " " + error.message);
                        }
                    });
                });
            });

1 个答案:

答案 0 :(得分:2)

您的第一行var badgeselected = $("#go").attr("src");也必须存在于$(document).ready回调中。

该回调的全部意义在于确保DOM已准备好供您访问。您已经在回调中放置了您的DOM访问代码的一些,但不是全部。