JavaScript由于不可预见的原因返回未定义的变量
我正在使用JavaScript和parse.com 下面的代码没有在控制台日志中返回任何错误,并且正在parse.com中按预期创建一个新对象(在myBadges下)。但由于某些原因,“BadgeName”并没有被捕获,而是显示为“未定义” 应使用“badgeselected”变量填充“BadgeName”列。但是“BadgeName”似乎没有被捕获为变量 有人能帮我理解为什么会这样吗 下面是parse.com后端的屏幕截图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("
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更改此答案和上述答案已解决此问题。