2013-08-29 197 views
0

嗨我在頁面頂部顯示貨幣對匯​​率。速率值通過getJson在每一對循環中拉入。在我的開發服務器上是好的,但是在活服務器上,循環在有時第5次迭代後停止執行,在控制檯中沒有錯誤。循環中的jQuery getJson在n個循環後停止循環

var tapeQuotePairs = [ 
    "EUR/USD", 
    "GBP/USD", 
    "AUD/USD", 
    "USD/CAD", 
    "USD/JPY", 
    "USD/CHF", 
    "USD/ZAR", 
    "XAU/USD", 
    "USD/BRL", 
    "BTC/USD" 
]; 

$.each(tapeQuotePairs, function(i, item) { 

    var bc = item.split("/"); 

    $.getJSON(quoteUrl, { 
     base: bc[0], 
     quote: bc[1] 
    }) 
    .done(function(data) { 
    console.log(qi); 
    console.log(quoteUrl); 
    qi++; 
    if (qi == qCsize) { 
     qSeparator = ""; 
    }else{ 
     qSeparator = ":::"; 
    } 
    $("#ticktape").append(bc[0] + bc[1] + data.rate.toFixed(4) + qSeparator); 
    }) 
    .fail(function() { 
    $("#ticktape").append(bc[0] + bc[1] + "n/a"); 
    }); 

}); 
+0

是否所有的請求都被髮送? –

+1

'失敗'功能是否被執行? – jwatts1980

+1

'qi'從哪裏來? – adeneo

回答

1

我看了看我的直播服務器的錯誤日誌,發現這個:

[週四8月29日23點44分00秒2013] [錯誤] [客戶xxx.xxx.xxx.xxx (12)不能 分配內存:無法創建子進程:/ somedirectory/suphp/sbin目錄/ suphp 爲/some/home/public_html/xxx.php,引用者: http://example.com/

我加了一個每次請求之前1秒延遲也在php.ini中將memory_limit = 16M;更改爲memory_limit = 256M;。 (共享主機)

目前爲止沒有問題。 (感謝@RobSchmuecker爲我指出了正確的方向)