更新 - 赏金是帮助我解决此问题并允许代码根据用户输入过滤回查询结果。如果通过jfiddle
提供帮助,则可以共享完整代码我无法理解为什么下面的脚本会将所有结果返回给用户,因为它只应返回" myBadges"由" friendName"。
上传的课程使用objectId而不是实际名称" dave"与?
相关联http://www.kudosoo.com/friendslist.html
仍然坚持这一点。根据我的原始问题:
Why does the query not return results after I switch the class it queries?
<script?
$(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>
答案 0 :(得分:3)
您的代码声明:
var query = new Parse.Query(myBadges);
new Parse
.Query("myBadges")
.matchesQuery("uploadedBy", new Parse.Query("_User")
.equalTo("username", friendName)
);
它没有将正确的对象分配给query
。
我认为应该是
var query = new Parse
.Query(myBadges)
.matchesQuery("uploadedBy",
new Parse.Query("_User")
.equalTo("username", friendName)
);
此处显示其他问题,friendName
变量。
这是在friendFeed
函数中声明的:
function friendFeed() {
var friendName = $('#friendsearch').val();
...
}
这样,它无法在函数外部访问。另外,您在此设置了一个值,但尝试在事件中覆盖它。
首选参数:
$(document).ready(function () {
$(document).on('click', '.username', function (event) {
event.preventDefault();
friendFeed($(this).text());
});
});
function friendFeed(friendName) {
//var friendName = $('#friendsearch').val();
...
}