为什么这不会从对象返回图像以在html中显示图像?

时间:2014-05-17 17:28:31

标签: javascript parse-platform

更新代码& IMAGE

看起来查询中每个返回对象的图像都是“未定义”

Parse.com和JavaScript。

我设法让我的代码返回我想要的对象,现在我只想取出“pic”网址,以便我可以在html页面上显示它。

我看过了,但很难看到如何提取某个类的某些属性的例子。

下面显示了我的方法,但那会返回一个错误的网址,如屏幕截图所示。

我在这里做错了什么?

    var currentUser = Parse.User.current();  
var FriendRequest = Parse.Object.extend("FriendRequest");


    var query = new Parse.Query(FriendRequest);
    query.include('toUser');
    query.equalTo("fromUser", currentUser);
    query.equalTo("status", "Request sent");
    //query.exists("pic");
         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('pic'));
        }
     // If the imageURLs array has items in it, set the src of an IMG element to the first URL in the array
        for(var j = 0; j < imageURLs.length; j++){
            $('#imgs').append("<img src='" + imageURLs[j] + "'/>");                 
        }
      },
      error: function(error) {
        // If the query is unsuccessful, report any errors
        alert("Error: " + error.code + " " + error.message);
      }
    });
         // show the signup or login page

 </script>
<div id="imgs"></div>

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

使用“get()”下降堆栈,其中有一个对象,如:

结果[0]获得( “TOUSER”)。PIC

而不是:

结果[0] .toUser.pic

在调试器的pic中,results.0.toUser的类型是“Object”。

我不认为你会在没有使用javascript的情况下获得对象的良好引用

获得(myObject的)

由于您没有使用框架(设置集合和模型使其变得非常简单),它封装了解析响应的所有细节,您必须手动执行,确保您下降的每个步骤都已完成你有一个有效的参考/类型的孩子。

您对results.0.toUser.pic未定义的原因是您没有正确完成解析。