2011-09-09 92 views
0

我正在嘗試在AJAX請求中執行AJAX請求,但由於某種原因,它不會被執行。無法在AJAX請求中執行AJAX請求?

它在第一次請求的成功回調函數,如果我在鉻調試它,它永遠不會到達那裏,雖然第一個請求得到正確執行。

這裏是我的代碼:

$.get(baseUrl + '/Home/AddUser?name=' + response.name + '&id=' + response.id, function (data) { 
    if (data.error) { 
     alert("Es ist ein Fehler aufgetreten. Bitte melden sie dies den Entwicklern.<br />" + data.error); 
     top.location.href = facebookUrl; 
     return; 
    } 

    // Get Sweepstake and add UserToSweepstake 
    if ($("input:radio").length == 0) { 
     window.sweepstakeId = $("selected-sweepstake").attr("value"); 
    } else { 
     window.sweepstakeId = $("input[type=radio]:checked").attr("id"); 
    } 
    $.get(baseUrl + '/Home/AddUserToSweepstake?userId=' + data.id + '&sweepstakeId=' + window.sweepstakeId, function (innerData) { 
     if (innerData.error) { 
      alert("Es ist ein Fehler aufgetreten. Bitte melden sie dies den Entwicklern.<br />" + innerData.error); 
      top.location.href = facebookUrl; 
      return; 
     } 
    }); 
}); 
+1

是否執行「outer」'success'回調? –

+0

我看不出有什麼問題。你是否100%確定它確實到達第二個請求所在的線路?你可以在那裏做一個警報嗎? –

+0

它沒有到達線路,這就是我想知道的... 該請求是明確的成功,但由於某種原因,成功的回調並沒有發射... – tonekk

回答

1

替換代碼這一點,並確保沒有連接錯誤:

$.ajax({ 
    url: baseUrl + '/Home/AddUser?name=' + response.name + '&id=' + response.id, 
    type: 'GET', 
    success: function (data, textStatus, jqXHR) { 

     if (data.error) { 
      alert("Es ist ein Fehler aufgetreten. Bitte melden sie dies den Entwicklern.<br />" + data.error); 
      top.location.href = facebookUrl; 
      return; 
     } 

     // Get Sweepstake and add UserToSweepstake 
     if ($("input:radio").length == 0) { 
      window.sweepstakeId = $("selected-sweepstake").attr("value"); 
     } else { 
      window.sweepstakeId = $("input[type=radio]:checked").attr("id"); 
     } 
     $.get(baseUrl + '/Home/AddUserToSweepstake?userId=' + data.id + '&sweepstakeId=' + window.sweepstakeId, function (innerData) { 
      if (innerData.error) { 
       alert("Es ist ein Fehler aufgetreten. Bitte melden sie dies den Entwicklern.<br />" + innerData.error); 
       top.location.href = facebookUrl; 
       return; 
      } 
     }); 

     $.ajax({ 
      url: baseUrl + '/Home/AddUserToSweepstake?userId=' + data.id + '&sweepstakeId=' + window.sweepstakeId, 
      type: 'GET', 
      success: function (innerData, itextStatus, ijqXHR) { 
       if (innerData.error) { 
        alert("Es ist ein Fehler aufgetreten. Bitte melden sie dies den Entwicklern.<br />" + innerData.error); 
        top.location.href = facebookUrl; 
        return; 
       } 
      }, 
      error: function (idata, itextStatus, ijqXHR) { 
       alert('connection error! ' + itextStatus); 
      } 
     }); 
    }, 
    error: function (data, textStatus, jqXHR) { 
     alert('connection error! ' + textStatus); 
    } 
}); 

乾杯。

+0

我已經這樣做了,但是自己無法回答這個問題......無論如何。 – tonekk