2010-02-03 233 views
0

我試圖從一個名爲geturl的函數獲取javascript的get請求。 因此,如果我準備我的查詢並將其添加到數組中,並執行一個請求的循環拋出。 沒有for循環,該怎麼做?也許對數組做些什麼?GET for一個For循環只執行一次執行

for (var i=0; i<urls.length; i++) 
     { 
      url[i] = urls[i].value; 
     } 
geturl(url); 
+0

它看起來不像你發佈任何相關的代碼。這不是你真正的循環,你沒有發佈'geturl' ... – Kobi 2010-02-03 11:10:58

+0

對不起,我不能發佈代碼爲geturl – streetparade 2010-02-03 11:12:23

+0

...但是,它不工作。哦,你爲什麼又要反對'for'循環?他們非常酷。 – Kobi 2010-02-03 11:14:09

回答

1

,如果您使用的是JavaScript框架,你可以做線沿線的東西:

var collection; 
$(urls).each(function(v){//add to collection}); 
geturl(collection); 

jQuery each documentation

+0

這會工作,但我不明白他甚至想擺脫for循環。無論如何,$ .each()方法在內部使用for循環。 – Graza 2010-02-03 11:47:26

+0

我不太明白爲什麼循環必須去,但它唯一的解釋,我可以想出。 – gum411 2010-02-03 13:37:53

1

你可以使用一個框架,比如原型或jQuery的是給你一個each()方法來使用陣列,內部它可能只是使用for循環,所以沒有多少指向它。

或者,如果這是由於您使用的for循環所有的地方,並希望有可重用的代碼代替,爲什麼不buildUrl方法連接到您的urls對象(內部循環,並返回你的url陣列)

或修改geturl()所以看起來在該參數的屬性.value而不是期望的url[]每個元素是一個字符串,則在傳遞urls[]geturl(例如geturl(urls);而不是傳遞串的陣列中url

1

在黑暗中總刺,如果問題是

爲什麼geturl只被調用一次?

那麼答案可能是: -

for (var i=0; i<urls.length; i++) 
{ 
    url[i] = urls[i].value; 
    geturl(url[i]); 
} 

然而,它是看不出來的!

+0

我嘗試了幾次它中止並執行一個請求 – streetparade 2010-02-03 13:22:14

+0

這表明你的問題在於執行geturl。發佈代碼! – gum411 2010-02-03 13:37:14