Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我应该如何恰当地构建这一点;如果;使用jQuery的语句?_Javascript_Jquery_If Statement_Parse Platform - Fatal编程技术网

Javascript 我应该如何恰当地构建这一点;如果;使用jQuery的语句?

Javascript 我应该如何恰当地构建这一点;如果;使用jQuery的语句?,javascript,jquery,if-statement,parse-platform,Javascript,Jquery,If Statement,Parse Platform,我已经编写了一条if语句,检查是否存在当前用户,如果存在,则从我的数据库中获取该当前用户的配置文件图像url并将其放置在div中。我已经成功地使用以下逻辑完成了此操作: function checkLogin() { if (Parse.User.current()) { var profilePicUrl = Parse.User.current().get("profile_picture").url(); $(".user-image").css("

我已经编写了一条if语句,检查是否存在当前用户,如果存在,则从我的数据库中获取该当前用户的配置文件图像url并将其放置在div中。我已经成功地使用以下逻辑完成了此操作:

  function checkLogin() {

    if (Parse.User.current()) {
      var profilePicUrl = Parse.User.current().get("profile_picture").url();

      $(".user-image").css("background-image", "url("+profilePicUrl+")");
    } else {

      $(".user-image").css("background-image", "url(//default image)");
    }
  };
然而问题是,当用户没有配置文件映像时,它会抛出一个错误。我试图通过在原始两个语句之间添加以下
else if
语句来抵消这一点:

 function checkLogin() {

    if (Parse.User.current()) {
      var profilePicUrl = Parse.User.current().get("profile_picture").url();

      $(".user-image").css("background-image", "url("+profilePicUrl+")");

    } else if (Parse.User.current() && !profilePicUrl){

      $(".user-image").css("background-image", "url(//default image)");

    } else {

      $(".user-image").css("background-image", "url(//default image)");

    }
  };

现在我几乎可以肯定我在这里使用的是& &操作符,但是在中间我想说的是代码>如果是“如果有一个当前用户和他们没有一个配置文件图像……”/P>


如何正确地说明这一点?

在检查配置文件pic url之前,您需要获取该配置文件,并添加一个try/catch作为安全网(因为我不知道当前的
url
方法的实现)


您需要在检查配置文件pic url之前获取它,并添加一个try/catch作为安全网(因为我不知道
current
url
方法的实现)


实际上,由于
parseObject.get()
返回
null
如果找不到键,您只需要:

 function checkLogin() {
    if (user = Parse.User.current()) {
      var profilePic = user.get("profile_picture");
      var profilePicUrl = profilePic ? profilePic.url() : "//default image";  
      $(".user-image").css("background-image", "url("+profilePicUrl+")");
    }
  };

请注意,
var someVar=someVar?valueA:valueB
语法实际上是一个

,因为
parseObject.get()
返回
null
如果找不到键,这里需要的只是:

 function checkLogin() {
    if (user = Parse.User.current()) {
      var profilePic = user.get("profile_picture");
      var profilePicUrl = profilePic ? profilePic.url() : "//default image";  
      $(".user-image").css("background-image", "url("+profilePicUrl+")");
    }
  };
请注意,
var someVar=someVar?valueA:valueB语法是一个

试试这个

var profilePicUrl = null;//assign some empty value here...

if (Parse.User.current()) {
      profilePicUrl = Parse.User.current().get("profile_picture").url();   

 } 
if(Parse.User.current() && profilePicUrl ){

     $(".user-image").css("background-image", "url("+profilePicUrl+")");
}
else if (Parse.User.current() && !profilePicUrl){

     $(".user-image").css("background-image", "url(//default image)");

} else {
      $(".user-image").css("background-image", "url(//default image)");
}
试试这个

var profilePicUrl = null;//assign some empty value here...

if (Parse.User.current()) {
      profilePicUrl = Parse.User.current().get("profile_picture").url();   

 } 
if(Parse.User.current() && profilePicUrl ){

     $(".user-image").css("background-image", "url("+profilePicUrl+")");
}
else if (Parse.User.current() && !profilePicUrl){

     $(".user-image").css("background-image", "url(//default image)");

} else {
      $(".user-image").css("background-image", "url(//default image)");
}


第二种情况永远不会被使用,因为第一种情况在它之前总是true(除非
Parse.User.current()
更改调用之间的返回值)。为什么不在创建时在DB中为用户设置默认映像?@7urkm3n我该怎么做?我喜欢这个选项,这取决于你的后端。您在后端使用什么?另外@bleeted0d
js
version应该可以使用,试试他的帖子。第二个案例永远不会被使用,因为第一个案例在它之前都是真的(除非
Parse.User.current()
更改调用之间的返回值)。为什么不在创建时在DB中为用户设置默认图像?@7urkm3n我该怎么做呢?我喜欢这个选项,这取决于你的后端。您在后端使用什么?另外@bleeted0d
js
version应该可以用,试试他的帖子。
.get(“profile\u picture”).url()
会在get返回
null
时抛出一个错误,我知道你把try-catch放在那里是为了防止出现这种情况,但值得一试metioning@DelightedD0D是,因为url的实现和当前方法不共享。
。获取(“profile_picture”).url()
将在get返回
null
时抛出错误,我知道您将try-catch放在那里是为了防止出现这种情况,但值得一试metioning@DelightedD0D是的,因为url的实现和当前方法是不共享的。我只是想发布我的,靠近这个)这会消除错误,而不是显示默认的图像r没有存储配置文件图像的用户,它只显示一个空白div@JohnDurand您是否已将
//默认图像
替换为图像的实际路径?@DelightedD0D您是否像这样传递它
“url(url(//默认图像))“
在这种情况下,无需担心,快乐编码:)我只想发布我的,靠近此)这会消除错误,但不会为未存储配置文件图像的用户显示默认图像,它只是显示一个空白div@JohnDurand您是否已将
//默认图像
替换为图像的实际路径?@delighteddod您是否像这样传递它
“url(url(//默认图像))”
在这种情况下,无需担心,快乐编码:)
.get(“profile\u picture”).url()
将在get返回
null
时抛出错误,这是超冗余的
。get(“profile\u picture”)。url()
将在get返回
null
时抛出错误,这是超冗余的