我想在一個循環中執行Ajax來一個一個地讀取數據。我在我的javascript函數中做了這樣的事情。Ajax不能在循環中工作
var resultType = $("input[name='resultType']:checked").val();
var finalResult = "";
var loadingMessage = "<img src=\"./results/loader.gif\" alt=\"Loading...\"/><br/>This may take several minutes...";
var htmlMessage=loadingMessage;
$("#result").html(htmlMessage);
for(var i=1;i<5;i++){
$.ajax({
type: "GET",
url: "results/result_html.php?usn="+i+"&resultType="+resultType,
dataType:"JSON",
success:function(result){
finalResult+=result;
result=result+htmlMessage;
$("#info").hide();
$("#result").html(result);
$("#usn").attr("placeholder", "Class USN");
}
});
}
但它沒有像我期望的那樣執行。如果我刪除循環,並直接給予價值,那麼一切都是正確的。我對Ajax並不熟悉。請任何人都可以幫我嗎?
首先的;你能指望什麼?看來現在每個請求都會覆蓋結果。 – 2013-02-26 14:40:10
我想要一個接一個地得到結果。請看'usn'在每個循環中都在變化。我知道這是錯誤的,我不知道如何使它正確。我想將每個結果與finalResult連接起來。 – 2013-02-26 14:45:13
指定您希望來自服務器的JSON數據,但不使用返回的數據作爲JOSON映射。這是對的嗎? – sdespont 2013-02-26 14:47:23