JS 数组显示的用户个人资料图片不正确 - 如何解决此问题?

2024-04-20

抱歉,这篇文章很长,但我不确定如果没有所有代码,问题是否会出现。

我正在使用 parse.com 和 JavaScript SDK。

下面的代码是我的用户个人资料页面的一部分,它在屏幕上向他们显示他们的个人资料图片并允许他们更改它。

更改个人资料图片效果很好,并且按预期上传。问题在于,在个人资料页面上,个人资料正在拍摄第一张用户的照片并将其显示在任何用户的页面上。基本上它不看当前用户。

我认为我需要更新查询以包含类似的内容var currentUser = Parse.User.current();并将其引入我的代码中。无论我为什么尝试这样做,我都会碰壁。任何帮助都会很棒

如果是这种情况,我正在努力了解如何更改我的代码以避免这种情况发生?

/////////////////////////Queries the users profile picture and shows on page////////////////////////

var UserProfilePic = Parse.Object.extend("_User");
var query = new Parse.Query(UserProfilePic);
query.exists("ProfilePic");
query.find({
    success: function(results) {
        // If the query is successful, store each image URL in an array of image URL's
        imageURLs = [];
        for (var i = 0; i < results.length; i++) {
            var object = results[i];
            imageURLs.push(object.get('ProfilePic').url());
        }
        // If the imageURLs array has items in it, set the src of an IMG element to the first URL in the array
        if (imageURLs.length > 0) {
            $('#profile_pic').attr('src', imageURLs[0]);
        }
        $('#Image01').attr('src', imageURLs[0]); //first image
    },
    error: function(error) {
        // If the query is unsuccessful, report any errors
        alert("Error: " + error.code + " " + error.message);
    }
});


///////// Saves the users profile image and fields after the #save button is clicked//////

var profileSave = Parse.User.current();

function ProfileSave() {

    var User = Parse.Object.extend("_User");

    var profileSave = Parse.User.current();

    var saveusername = $('#username').val();
    var saveemail = $('#email').val();
    var savegender = $('#gender').val();


    profileSave.set("username", saveusername);
    profileSave.set("email", saveemail);
    profileSave.set("gender", savegender);


    profileSave.save(null, {
        success: function(profileSave) {
            profileSave.save();
            console.log("DONE");
            alert("Profile Saved");
        },
        error: function(profileSave, error) {
            // Fail

        }
    });



}


///////////////Allows the user to upload a profile image and store///////////////////////

$(document).ready(function() {

    var parseAPPID = "XXXXXX";
    var parseJSID = "XXXXXX";

    //Initialize Parse
    Parse.initialize(parseAPPID, parseJSID);

    $("#fileUploadBtn").on("click", function(e) {

        var fileUploadControl = $("#fileUploader")[0];
        if (fileUploadControl.files.length > 0) {
            var file = fileUploadControl.files[0];
            var name = file.name;
            console.log("here goes nothing...");
            var parseFile = new Parse.File(name, file);
            parseFile.save().then(function() {
                console.log("Worked!");
                console.dir(arguments);
                var User = Parse.Object.extend("_User");
                var jobApplication = Parse.User.current();

                jobApplication.set("ProfilePic", parseFile);
                jobApplication.save();

                var profilePhoto = jobApplication.get("ProfilePic");
                console.log("Done");

                //jobApplication.get("ProfilePic").url;

            }, function(error) {
                console.log("Error");
                console.dir(error);
            });
        }

    });


});

刚刚在特色/赏金中找到了这个,尽管我回答了它here https://stackoverflow.com/questions/31974447/parse-query-not-restricting-results-to-current-user/31974723?noredirect=1#comment51857221_31974723对于你来说,这是我复制/粘贴的答案:

您没有按照您认为的方式使用 query.exists() 。另外,您只是想检查当前用户是否有个人资料图片吗?因为你可以使用.has("key")对象的方法,而用户是一个对象。如果这是在云代码中而不是客户端代码中,您可能必须首先获取用户。如果是客户端代码,您应该已经有一个最新的用户。

您不应该扩展用户对象。完全没有必要。使用 Parse.User 对象类型,因此如果您要查询用户,请执行以下操作var query = new Parse.Query( Parse.User );

所以我认为你想要的更像是:

var user = Parse.User.current();
if( user.has("ProfilePic") )
{
    //Do your stuff with the image
    var imageURL = user.get("ProfilePic").url();
    $('#Image01').attr('src', imageURL);
}
else
{
    alert("Error: User does not have a 'ProfilePic' set");
}

按照您的代码设置方式,您只需使用 profilePics 查询所有用户并获取第一个即可。我的代码只获取当前用户的profilePic。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS 数组显示的用户个人资料图片不正确 - 如何解决此问题? 的相关文章

随机推荐

  • AS3 瓦片地图渲染(具有 1000 个瓦片)

    首先我要说的是 这里的上下文是 Actionscript 3 0 IDE Flashbuilder 以及椋鸟框架 http gamua com starling 因此 我想创建一个可用于平台游戏或类似游戏的图块地图 我想在 800x600
  • R:在 data.frame 列中拆分不平衡列表

    假设您有一个具有以下结构的数据框 df lt data frame a c 1 2 3 4 b c job1 job2 job1a job4 job5 job6 job9 job10 job11 列所在的位置b是一个以分号分隔的列表 按行不
  • Apple Watch 应用程序无法本地化

    我已经为德语 法语 西班牙语和简体中文设置了 interface storyboard 字符串 我下载了 iOS 应用程序并将其加载到手表上 例如 我然后将手表语言设置为德语 但用户界面仍然是英文 以下是 interface storybo
  • 我的列表视图不会输出,是否需要 if 回发?

    所以我正在运行一个 C 函数 该函数应该根据值更改文本的颜色 当我从列表视图中删除该函数时 它会输出值 但是当我包含它时 它不会输出任何内容我现在终于发现我的函数没有任何问题 但我如何将数据绑定到列表视图 所以我想知道我做错了什么 这是我的
  • 当 props 改变时,React 不会重新渲染组件

    我有一个问题 当 React 组件的 props 改变时 它们不会重新渲染 GroupLabel 将 counter 作为 prop export const GroupLabel props gt const change gt prop
  • 如何查找属于 Firebase 应用程序一部分的用户?

    我在 Firebase 中有一个项目 该项目有 2 个应用程序 1 安卓 2 iOS 我想知道哪些用户是从 android 平台注册的 同样也是从 iOS 平台注册的 有办法知道吗 可能没有办法直接找到android用户和iOS用户 你必须
  • 如何使 .NET COM 对象成为单元线程?

    NET 对象默认是自由线程的 如果通过 COM 编组到另一个线程 它们总是会编组到自己 无论创建者线程是否为 STA 也无论它们的线程如何ThreadingModel注册表值 我怀疑 他们汇总了免费线程封送拆收器 http support
  • 关于如何将 JSON 消息转换为 ASN.1 的想法

    我正在尝试将 JSON 消息转换为 ASN 1 我的目标是将 JSON 从wire shark 捕获 转换为 ASN 1 然后将 asn1 转换为 802 11p 我应该研究哪些想法或资源 我正在使用Python 3 7 您可以使用此工具将
  • 数据源的驱动程序类的名称丢失(Netbeans+ PostgreSql + Glassfish)

    我正在尝试在 Postgres 9 2 db 和 Glassfish 4 服务器上使用 Netbeans 8 开发 EJB 应用程序 在 glassfish 管理面板中创建连接池和 JDBC 资源后 我无法使用数据源添加实体 Netbean
  • 如何捕获在 C# 中的 DataGridView 上触发“CellEndEdit”的击键?

    我有一个设置为 EditOnF2 的 DataGridView 我在 CellEndEdit 事件处理程序中对数据进行了一些特殊处理 以设置单元格的值 我仍然希望 EditOnKeyStrokeOrF2 的功能能够在按下 Esc 键时恢复到
  • Gensim LDA 主题分配

    我希望使用 LDA 将每个文档分配给一个主题 现在我意识到您得到的是 LDA 主题的分布 然而 正如您从下面最后一行看到的 我将其分配给最有可能的主题 我的问题是这样的 我必须跑lda corpus 有点第二次为了获得这些主题 是否有其他内
  • 可从 mdpi 加载而不是 hdpi 中绘制

    我已经使用不同的可绘制目录 ldpi mdpi 和 hdpi 设置了我的项目 我有一个具有两种不同分辨率的背景png drawable mdpi 文件夹中的320x480 和drawable hdpi 中的480x800 两者具有相同的文件
  • 如何在 jQuery jTable 中上传图像

    我在 jQuery jTable 的创建模式下成功创建了一个上传字段 如下所示 upload title Upload Image input function data return
  • 没有地图的地理编码

    我可以在没有地图的情况下使用 Google 地图地理编码 API 吗 我有一个带有自动完成功能的文本框 Google Maps API Place 我希望在用户输入街道号码后 我会得到邮政编码 问候 自动完成是允许在没有地图的情况下使用 G
  • 如何通过 PHP 获取字符串形式的 HTML 页面?

    我正在通过 PHP 从网页中获取一些信息simple php dom和卷曲 问题是页面构建不正确 因此 DOM 对象包含错误信息 如何获取 HTML 文件作为 PHP var 中的字符串 以便我可以通过它运行正则表达式 Curl 不起作用
  • 为页面创建新应用程序

    我有一个个人 FB 帐户 从那里我创建了一个新页面来介绍我的博客网站 我在我的网站上下载了一个适用于我的 WordPress 主题的小部件 以便我可以链接两个帐户以进行自动更新 该小部件要求我通过创建新应用程序提供应用程序 ID 和密钥 当
  • FMDB SQLite 问题:查询的行数?

    有谁知道如何在使用 FMDB 时返回查询计数 如果我执行Query select count from sometable were 我会得到一个空的FMResultSet 如何获取查询的行数 我是否需要执行 select from som
  • 使用 XMLHttpRequest 不使用 jQuery 将 JSON 数据发送到 PHP

    我正在尝试使用 XMLHttpRequest 对象从表单发送 JSON 数据 我可以使用以下函数发送数据 FireBug 中没有显示任何错误 并且 FireBug 可以很好地显示请求中的 JSON 数据 但是 我将数据发送到echo php
  • iOS 8 中的嵌套 UICollectionViews、自动布局和旋转

    我开始在一个大型项目中使用 AutoLayout 并对它感到非常惊讶 但是 现在我必须调整项目以适应旋转和尺寸类别 并且我在让视图正确运行方面遇到了很大的麻烦 基本问题是我有UICollectionViews with 再次包含 UICol
  • JS 数组显示的用户个人资料图片不正确 - 如何解决此问题?

    抱歉 这篇文章很长 但我不确定如果没有所有代码 问题是否会出现 我正在使用 parse com 和 JavaScript SDK 下面的代码是我的用户个人资料页面的一部分 它在屏幕上向他们显示他们的个人资料图片并允许他们更改它 更改个人资料