2009-09-08 113 views
1

我收到來自ajax請求的響應(由jquery完成)。如何將一個整數傳遞給一個javascript函數?

我有一種向用戶顯示錯誤的方法。有時,雖然我還有其他一些與json請求一起發佈的信息。

所以我不希望顯示此信息(其餘的錯誤在哪裏)。所以我想,因爲我總是知道json的長度回來,我可以縮短長度,因爲error方法只是使用while循環,所以如果它少一個,那麼它將不會顯示該json部分。

所以,我沒有當它得到通過,雖然這

var length = result.length -1; 

ErrorsMethod(result, length); // call function. 

    function ErrorsMethod(result, length) 
    { 
     while(i < length) 
     { 
     // do stuff. 
     } 
    } 

長度總是不確定的。我不明白爲什麼。

我然後試圖

length.length parseInt函數(長度);

似乎沒有工作。我甚至不知道我在做什麼。當我在進入函數之前做一個「length」var的提醒時,它會吐出一個數字。

+1

請問您可以顯示ajax請求的代碼 - 並從ajax請求返回樣本數據示例?以及它如何與這個功能聯繫起來?我想你可能只是沒有正確引用參數。 – gnarf 2009-09-08 23:44:21

回答

3

你是否正確地調用了parseInt?

var length = parseInt(result.length) - 1; 
ErrorsMethod(result, length); 

ErrorsMethod(result, length); // call function. 

    function ErrorsMethod(result, length) 
    { 
     while(i < length) 
     { 
     // do stuff. 
     } 
    } 
+0

在大多數情況下,始終向parseInt提供第二個參數,10。請參閱http://stackoverflow.com/questions/850341 – 2009-09-09 00:00:16

1
ErrorsMethod(result); // call function. 

function ErrorsMethod(result) 
{ 
    if (result && result.length) 
    for (var i = 0 ; i < result.length ; ++i) 
    { 
     // do stuff. 
    } 
} 
0

也導致或i的定義的變量因此多數民衆贊成也許就是爲什麼腳本停止執行。嘗試這樣的事情:

<script type="text/javascript"> 
    var result = [10, 2]; 
    var length = result.length; 


    ErrorsMethod(result, length); // call function. 

    function ErrorsMethod(result, length) 
    { 
     var i=0; 
     while(i < length) 
     { 
     // do stuff. 
     alert(i); 
     i++; 
     } 
    } 

</script> 
相關問題