代码之家  ›  专栏  ›  技术社区  ›  GustyWind

Firefox不知道在构建URL时出现空值时该怎么办

  •  0
  • GustyWind  · 技术社区  · 14 年前

    我在这里面临一个问题,如下面提到的代码所示

    AJAXRequest("getActivityEntries?orgEntry="+orgentryid+"&activity_entry="+activity_entry+"&target=AJAX");
    

    如果此处orgentryid为空,

    在构建HTML页面之后,JAVAScript看起来像

    AJAXRequest("getActivityEntries?orgEntry="++"&activity_entry="+$activity_entry+"&target=AJAX");
    

    Firefox抛出异常,并将++与字符串一起使用。

    然后我们添加了If/Else检查orgentryid是否存在

    if(activity_entry && "activity_entry" != " ")
                if (orgentryid)
                        AJAXRequest("getActivityEntries?orgEntry="+orgentryid+"&activity_entry="+activity_entry+"&target=AJAX");
                    else
                        AJAXRequest("getActivityEntries?activity_entry="+activity_entry+"&target=AJAX");
    
            else
              if (orgentryid)
                 AJAXRequest("getActivityEntries?orgEntry="+!orgentryid+"&target=AJAX");
               else
                 AJAXRequest("getActivityEntries?target=AJAX");
    

    2 回复  |  直到 14 年前
        1
  •  4
  •   mplungjan Gvidas    14 年前

    没有三元运算符的实用主义-在vars中假定字符串而不是0

    var URL = "getActivityEntries?target=AJAX"; 
    if (activity_entry) URL += "&activity_entry="+activity_entry;
    if (orgentryid)     URL += "&orgEntry="+orgentryid;
    AJAXRequest(URL);
    
        2
  •  1
  •   Golmote Kinoko    14 年前

    你试过这样的东西吗?

    AJAXRequest("getActivityEntries?orgEntry="+(orgentryid||"")+"&activity_entry="+(activity_entry||"")+"&target=AJAX");