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

JavaScript由于不可预见的原因返回未定义的变量,javascript,jquery,string,parse-platform,Javascript,Jquery,String,Parse Platform,我正在使用JavaScript和parse.com 下面的代码没有在控制台日志中返回任何错误,并且正在parse.com中按预期创建一个新对象(在myBadges下)。但由于某些原因,“BadgeName”并没有被捕获,而是显示为“未定义” 应使用“badgeselected”变量填充“BadgeName”列。但是“BadgeName”似乎没有被捕获为变量 有人能帮我理解为什么会这样吗 下面是parse.com后端的屏幕截图 var badgeselected = $("#go").attr("

我正在使用JavaScript和parse.com

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

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

有人能帮我理解为什么会这样吗

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

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);
                        }
                    });
                });
            });


您的第一行,
var-badgeselected=$(“#go”).attr(“src”),也必须存在于
$(文档).ready
回调中


回调的全部目的是确保DOM已准备好供您访问。您已经将一些DOM访问代码放在回调中,但不是全部。

我还犯了一个愚蠢的错误,这在上面的代码中是看不到的。基本上,我试图调用一个id来表示“Go”,实际上它被定义为一个类。从@meagar更改此答案和上述答案已解决此问题。