0

困惑...我有一个文件“api.php”,如下所示。这是在 jquery ajax 调用中调用的。当我从命令行运行它时,我得到一个看起来正确的响应(即不为空)。当我在 ajax 调用中运行它时,它似乎是空的。现在...当我注释掉“if($td < $lessthan)”和两个大括号时,它都可以正常工作(即,ajax 成功获得了正确的数据。

这是我的“api.php”函数:

    $basedir = "calls/";
    $now = time();

    $lessthan  = 20 * 60;
    $ret = array();
    $dir = opendir( $basedir );
    while(($currentFile = readdir($dir)) !== false)
    {
            if ( preg_match( '/(.*).txt/', $currentFile, $match) )
            {
                    $tt = @file_get_contents($basedir.$currentFile);
                    $td = ($now - @strtotime( $tt ));
                    if( $td < $lessthan )
                    {
                            $ret[] = $match[1];
                    }
            }
    }
    closedir($dir);

  echo json_encode(implode(',', $ret));
?>

这是我的 jquery ajax 调用:

    $.ajax({                          
      url: 'api.php',                 
      data: "",                       
      dataType: "json",               
      type: "POST",                   
      success: function(data, textStatus, jqXHR)
      {                                     
            console.log(data + ':' + previous + '  ' + textStatus );
            if( data != null && data != previous && data != "" )
            {                                                               previous = data;                
                    $('#other').hide(); //Set output element html
                    $('#loaddiv').fadeOut('fast').load('reload.php?q='+data).fadeIn("fast"); //Set output element html
            }

            if( (data == null || data == "" ) && previous != null )                {                                       
                    //$('#loaddiv').fadeOut('fast').html('No Active Calls').fadeIn("fast"); //Set output element html
                    $('#loaddiv').fadeOut('fast'); //Set output element html
                    $('#other').show();             
                    $('#other').fadeOut('fast').load('default.php').fadeIn("fast");
                    previous = null;                
            }                               
      },                              
      error: function(m) { alert('error'); } 
    });                             

关于为什么在 api.php 中注释掉“if”语句使整个事情起作用的任何想法?或者更好的是,我怎样才能保留 if 语句并让它工作。

4

0 回答 0