2011-11-15 32 views
-2

我想檢查文件是否存在或不使用Javascript只。我不想使用Jquery和Ajax,只是使用Javascript。我需要測試的文件位於服務器上,而不是客戶端。使用Javascript如何檢查文件exists.No jquery和Ajax

+0

服務器端JavaScript或客戶端JavaScript? –

+3

我笑了。該文件是否在服務器或客戶端?服務器可以使用Ajax,它簡直就是JavaScript。無法在客戶端檢查文件。 –

+0

服務器上存在的文件 – user1041240

回答

0

我看到的唯一選擇是使用PHP(或其他服務器端語言,可訪問您的文件)打印出文件列表。然後使用jQuery $.post或ajax獲取這些結果。然後你可能會覺得比較容易,但不是你最初的要求。

我回答這個問題的原因是因爲你的問題的答案是'不,你不能在帶有javascript的服務器上做任何事情'。

但給jQuery的示例使用Ajax和PHP:

<?php 

    $path = htmlspecialchars($_POST['path']); 

    if ($files = array_slice(scandir($path), 2)) 
    echo implode(',', $files); 

?> 

<script> 
    $.post(
    'get_directory.php', 
    {'path':'file_folder'}, 

    function(file_list) { 
     alert(file_list); 
    } 
); 
</script> 

會給你從file_folder文件的列表。但沒有完全測試它,但正如你所看到的,這並不是那麼多的工作。用JavaScript純粹用黑客入侵文件服務器很難!

0

它不可能做它與純JavaScript客戶端,您可以使用嵌入的代碼做一些這方面的VB腳本和ActiveX組件...

0

XMLHTTPXMLHTTPRequest提供ability to check HTTP return codes(如404 !未找到),幷包括包含標題的完整響應。

你不想使用XMLHTTP和XMLHTTPRequest的原因是什麼?

+0

好的,我會試試這個。 – user1041240

+0

我已經使用下面的代碼來獲取請求的狀態var request = new ActiveXObject(「Microsoft.XMLHTTP」); request.open('GET','/RepairDocument/"+doc+".pdf',false); request.send(NULL); if(request.status == 200) alert(request.responseText); else window.close(「/ RepairDocument /"+".// Repair_Notification_Number」+「。pdf」); 警報(「此通知不生成PDF,請聯繫HO」); 現在我想通過Javascript關閉該頁面未找到的窗口。我已經使用window.close(),但它沒有關閉窗口。如何關閉此窗口? – user1041240