gpt4 book ai didi

javascript - 为什么此查询返回所有查询结果,而不仅仅是与用户名匹配的结果?

转载 作者:行者123 更新时间:2023-11-28 19:48:32 26 4
gpt4 key购买 nike

更新 - 赏金是为了帮助我解决这个问题,并允许代码根据用户输入过滤回查询结果。如果有帮助,可以通过 jfiddle 分享完整代码

我不明白为什么下面的脚本应该只返回由“friendName”上传的“myBadges”类的结果,而将所有结果返回给用户。

也许它仍然与使用 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>

Here is the console. enter image description here

最佳答案

您的代码指出:

var query = new Parse.Query(myBadges);
new Parse
.Query("myBadges")
.matchesQuery("uploadedBy", new Parse.Query("_User")
.equalTo("username", friendName)
);

它没有为查询分配正确的对象。

我认为应该是

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

关于javascript - 为什么此查询返回所有查询结果,而不仅仅是与用户名匹配的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23870300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com