2

我正在使用 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;
    }

提前致谢!

4

1 回答 1

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);
      });
于 2012-08-06T13:45:48.310 回答