2010-10-22 36 views
0

我在这里面临的一个问题,因为在所示下面的代码Firefox不知道该怎么办的时候,而建设一个URL

在函数内部提到我有这样的事情

AJAXRequest("getActivityEntries?orgEntry="+orgentryid+"&activity_entry="+activity_entry+"&target=AJAX"); 
出现一些空

如果orgentryid为null这里,

构建HTML页面后,JavaScript的样子......

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

Firefox与Strings一起使用时抛出异常。

然后我们添加的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"); 

但此后的表现已经采取了跳动。 Firefox有什么可以做的吗?

+2

这听起来像你正在构建一个服务器端语言Javascript代码(PHP?)。这是这种情况,这是代码出错的地方吗? – Spudley 2010-10-22 11:15:10

+0

你真的想要在底部的第三行有'!'吗? – Tim 2010-10-22 11:52:01

+1

没有任何可能的方式,那个空检查是有严重的性能影响。 – Pointy 2010-10-22 11:56:07

回答

4

务实而不三元运营商 - 假设字符串,而不是0的在瓦尔

var URL = "getActivityEntries?target=AJAX"; 
if (activity_entry) URL += "&activity_entry="+activity_entry; 
if (orgentryid)  URL += "&orgEntry="+orgentryid; 
AJAXRequest(URL); 
1

你有没有试过类似的东西?

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

小心如果'orgentryid'可能是一个值为“0”的整数,因为这不起作用。如果'orgentryid'被认为是一个字符串,你会没事的。 – Tim 2010-10-22 11:54:30

+0

作者使用的if/else代码似乎表明'orgentryid'和'activity_entry'都是字符串;} 但我没有检查'activity_entry!=“”'但这不应该导致任何错误。 – 2010-10-22 12:08:42

相关问题