2017-04-22 108 views
0

我想从递归AJAX获取文件名,但到现在为止它不工作,在我的代码是这样AJAX,如何返回文件名?

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>GET NAME</title> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<script src="/assets/mediaelements/build/jquery.js"></script> 
<script src="/assets/mediaelements/build/mediaelement-and-player.min.js"></script> 
<link href="/assets/mediaelements/build/mediaelementplayer.min.css" rel="stylesheet" /> 
<script type="text/javascript" src="jquery.min.js"></script> 
<script> 

(function rekurse(){ 

    setTimeout(function() 
    { 
     /* ---------------------------------- */ 

     $.ajax({ 
      type: "POST", 
      cache: false,   
      url: 'shift.php', 
      data: {offi: 'E:/DataText/OFFICE/BI/FAR1'}, 
      success: function(data){ 
       alert(data); 
       rekurse(); 
      }, 
      error: function(){ 
       alert(data); 
       rekurse(); // recurse, if you'd like. 
      }   
     });  

     /* ---------------------------------- */  
    }, 1000); 

})(); 

</script> 
</head> 

<body onload="rekurse();return false;"> 

</body> 
<html><body 

和shift.php,它就像

<?PHP 
// 
CLEARSTATCACHE(); 
// 
$grps = '_'; 
$offi = $_POST['offi']; 
$temp = $offi.'/'.$grps.'*.*'; 
$arrs = GLOB($temp ); 
$coun = COUNT($arrs); 
// 
IF($coun<1): 
    ECHO json_encode("ok"); 
ENDIF; 
// 
$text = $offi."/call.htm"; 
$hand = FOPEN($text, 'w'); 
$text = FWRITE($hand,"\r\n"); 
$hand = FCLOSE($hand); 
// 
$file = $arrs[0]; 
$hand = FOPEN($file, 'r'); 
$temp = FREAD($hand, FILESIZE($file)); 
$hand = FCLOSE($hand); 
// 
$arrs = EXPLODE(',',$temp); 
IF(COUNT($arrs)>0): 
    ECHO json_encode($temp); 
ELSE: 
    ECHO json_encode("ok"); 
ENDIF; 
// 
?> 

什么IM错过了这个和抱歉,我的英语

谢谢

方面 ·班邦·

回答

0

递归AJAX是一个床的想法。 你只需检查你的PHP文件的代码,并确保它的工作正常,然后调用ajax函数来获取文件名。

首先手动调用你的PHP文件并检查输出。

只需使用类似的代码下面不让它复杂..

$.ajax({ 
     type: "POST", 
     cache: false,   
     url: 'shift.php', 
     data: {offi: 'E:/DataText/OFFICE/BI/FAR1'}, 
     success: function(data){ 
      alert(data); 
     }, 
     error: function(){ 
      alert(data); 
     }   
    });