在jQuery .load后执行if语句Ajax

问题描述:

我使用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://*.com/questions/400197/extracting-ajax- return-data-in-jquery – 2012-08-06 13:48:34

您可以传递一个回调到.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