使用Parse.com和JavaScript SDK。
http://www.kudosoo.com/friendslist.html
在这里使用代码http://jsfiddle.net/Dano007/LJ8rn/(仅适用于ref,它不会运行)。
我希望在用户点击用户名后返回在“friendName”变量中选择的用户的上传徽章。
点击用户名时我看到的是
Username.push(object.get("uploadedBy"));
返回他们刚刚点击的名称的用户名,而不是上传徽章的人的实际用户名。
因此,我得出结论,在我的JQuery / JavaScript代码中的某个地方,我有点选择错误的元素。我认为这必须与FriendName变量有关吗?但我无法解决它,它让我疯狂
在屏幕截图中,您可以看到应该在
中返回的a3aePaphBF<div id="FriendsStuffName"></div>
$(document).ready(function() {
$(document).on('click','.username', function (event) {
event.preventDefault();
friendName = $(this).text();
console.log(friendName);
friendFeed();
});
});
/////////////////
var currentUser = Parse.User.current();
var myBadges = Parse.Object.extend("myBadges");
// Captures the input from the user and checks if the name already exists within the Db.
function friendFeed() {
var friendName = $('#friendsearch').val();
//console.log(friendName);
var query = new Parse.Query(myBadges);
new Parse.Query("myBadges").matchesQuery("uploadedBy", new Parse.Query("_User").equalTo("username", friendName));
query.find({
success: function (rules) {
imageURLs = [];
for (var i = 0; i < rules.length; i++) {
var object = rules[i];
imageURLs.push(object.get("BadgeName"));
Username.push(object.get("uploadedBy"));
}
for(var j = 0; j < imageURLs.length; j++) {
$('#FriendsStuff').append("<img class='images' src='" + imageURLs[j] + "'/>");
$('#FriendsStuffName').append("<div class='username'>'"+Username[j]+"'</div>");
}
},
error: function(error) {
//If the query is unsuccessful, report any errors
alert("Error: " + error.code + " " + error.message);
}
});
}
</script>
<div id="imgs"></div>
<div id="username"></div>
<div id="container"></div>
<div id="FriendsStuff"></div>
<div id="FriendsStuffName"></div>
</body>
</html>
这是我的用户
答案 0 :(得分:0)
这没有意义:
var query = new Parse.Query(myBadges);
new Parse.Query("myBadges").matchesQuery("uploadedBy", new Parse.Query("_User").equalTo("username", friendName));
首先,您要为“myBadges”创建一个查询,并将其分配给变量“query”。然后,您还要为“myBadges”创建另一个查询。此新查询未在任何位置分配。
您正在运行“查找”操作的查询是您已分配给查询变量的查询。
如果你期望第二行,对第一行有任何影响,那么这可能是你错误的根源。
试试这个:
var query = new Parse.Query(myBadges);
query.matchesQuery("uploadedBy", new Parse.Query("_User").equalTo("username", friendName));
query.find({
success: function (rules) {