在jQuery .load Ajax之后执行if语句

时间:2012-08-06 13:44:12

标签: javascript jquery ajax if-statement load

我正在使用jQuery .load()从数据库中获取信息。在将信息加载到div之前,我想用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;
}

我不知道是否可以通过这种方式检查传入的ajax变量,因为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;
    }

提前致谢!

1 个答案:

答案 0 :(得分: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);
      });
相关问题