jquery ajax php json返回不工作

时间:2013-04-06 20:49:57

标签: php jquery ajax

困惑...我有一个文件“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语句留在其中并使其工作。

0 个答案:

没有答案