2012-08-06 106 views
2

我使用jQuery .load()從數據庫中獲取信息。在將信息加載到div中之前,我想用if語句來檢查內容。在jQuery .load後執行if語句Ajax

例如:(阿賈克斯將返回1)

$('div.status').load("../files/ajax-calls.php?type=validatePerformer&performerId=265486"); 

if($('div.status').text() == 1){ 
    alert("ajax input checked, value = 1"); 
}else{ 
    return false; 
} 

我不知道是否有可能檢查進入阿賈克斯變量這種方式,因爲jQuery的直接寫這些到DOM。

的解決方案,我正在尋找看起來像這樣(我知道這是不正確的編碼,只給一個想法)

var ajaxResult = $('div.status').load("../files/ajax-calls.php?type=validatePerformer&performerId=265486"); 

    if($(ajaxResult) == 1){ 
     $('div.status').text(ajaxResult); 
    }else{ 
     return false; 
    } 

提前感謝!

+0

缺少'「'後您的網址。 – 2012-08-06 13:47:36

+0

或U可以使用阿賈克斯()函數和成功,你可以做這樣的事情http://stackoverflow.com/questions/400197/extracting-ajax- return-data-in-jquery – 2012-08-06 13:48:34

回答

1

您可以傳遞一個回調到.load功能...

$('div.status') 
    .load("../files/ajax-calls.php?type=validatePerformer&performerId=265486", 
      function() { alert("complete"); }) 

...但它不會以免jQuery插入新的內容,因爲回調發生之前做到這一點。


基於條件的手動插入,你應該使用$.get代替。

$.get("../files/ajax-calls.php?type=validatePerformer&performerId=265486", 
     function(ajaxResult) { 
      if(ajaxResult == 1) 
      $('div.status').text(ajaxResult); 
     }); 
+0

訣竅,謝謝! – user1292738 2012-08-06 13:59:33

+0

@ user1292738:不客氣。 – 2012-08-06 14:10:06