0

我需要使用 Ajax 请求检查我的 Apache Web 服务器的 htdocs 文件夹中是否存在特定文件。我是阿贾克斯的新手。请让我知道我的方法是否正确。

我正在用 Javascript 编写以下函数来执行上述操作。

我考虑过的网址是:“ http://film.ts ”。

function checkURL(url){
    var Ajaxhttp;
    if (window.XMLHttpRequest){
        Ajaxhttp=new XMLHttpRequest();
    }
    else{// code for IE6, IE5
        Ajaxhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    Ajaxhttp.open("HEAD",url,true);
    Ajaxhttp.onreadystatechange=function(){
        if (Ajaxhttp.readyState==4 && Ajaxhttp.status == 200){
            data.playoutInfo._playoutUrls[0] = url;
        }
        else if(Ajaxhttp.status == 404){
            data.playoutInfo._playoutUrls[0] = "http://San_Diego_Clip.ts";
        }
    }
    Ajaxhttp.send();  
}

使用上面的代码,即使文件不存在,我也会得到 200 的状态。如果我可以通过其他方式实现这一目标,请建议我。

4

2 回答 2

0

您应该使用Ajaxhttp.open("GET",url,true);来发出 GET 请求。检查xhr.openat的 api

https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest

它是

void open(
   DOMString method,
   DOMString url,
   optional boolean async,
   optional DOMString user,
   optional DOMString password
);

所以,你一直有 200 个HEAD请求。

于 2013-05-10T11:56:46.270 回答
0

在您的 htdocs 文件夹中创建三个 [3] 文件 1)searchFile.php 2)ajaxreq.php ,创建一个名为 Iamafile.txt 的文件。

=在searchFile.php里面= ========这样写:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Looking For A File</title>

</head>

<body>

<div class="repoter">Content for  class "repoter" Goes Here</div>



<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" >
$(document).ready(function() {
$.post("ajaxreq.php",
  {
    anyFile:"IamAfile.txt"

  },
  function(data,status){
    $(".repoter").html( data ); 
  }
  )
});
</body>
</html>

== searchFile.php结束==

现在

==在ajaxreq.php里面== ========这样写:

<?php
if (isset($_POST['anyFile'])) {
$anyFile=$_POST['anyFile'];//your in need file
$ineedFile=$anyFile;
if (file_exists($ineedFile)) {

//if the in need file is htdocs folder report this

$report="The file is here. Named :  <a href='$ineedFile' >Open The File Here</a>" ;

  }
  else if (!file_exists($ineedFile)) {

//no such in need file report this

$report="No Such File In Mentioned Directory";

  }
 else{
 $report="Sorry Dont Understand your request";
 exit;
 }

 echo $report;
}
?>

==================================================== = ajaxreq.php结束==============

测试请求

如果在您的 htdocs 中创建了所有文件,请将 /searchFile.php 复制粘贴到您的浏览器中,然后按 enter 。这就是我将如何使用 Jquery Ajax

于 2013-05-10T13:14:51.490 回答