簡體   English   中英

使用javascript檢查文件是否存在失敗

[英]Check if file exists using javascript fails

我在這里有一些答案,但不知何故結果顯示我錯了。 它所有輸出the file exists! 即使它實際上並不存在。

    function doesFileExist(urlToFile) {
      var xhr = new XMLHttpRequest()
      xhr.open('HEAD', urlToFile, false)
      xhr.send()

      return console.log(xhr.status == 200 ? 'File exists' : 'File does not exist')
    }

它輸出:

文件已存在

這是服務器文件夾結構:

文件夾結構

function doesFileExist(urlToFile)
{
    var xhr = new XMLHttpRequest();
    xhr.open('HEAD', urlToFile, false);
    xhr.send();
    if (xhr.readyState == 4 && xhr.status == 404 ) {
        console.log("File doesn't exist");
        return false;
    } else {
        console.log("File exists");
        return true;
    }
}

doesFileExist('/Framework/views/login/activate_studeasdfnt.php')

試試那個。 我已經測試過了。 抱歉耽誤了太長時間。 此外,如果您的功能是測試文件是否存在,我建議您檢查 200 響應。 但這取決於你。

嘗試檢查它是否大於 400

function doesFileExist(urlToFile)
{
    var xhr = new XMLHttpRequest();
    xhr.open('HEAD', urlToFile, false);
    xhr.send();
    if (xhr.status >=400 ) {
        console.log("File doesn't exist");
        return false;
    } else {
        console.log("File exists");
        return true;
    }
}

doesFileExist('/Framework/views/login/activate_studeasdfnt.php')
$('#activate_user_level').on('change', function(){
    var user_level = $(this).val(),
        content = $('#content'),
        url = '/views/login/activate_'+ user_level +'.php';

    $.ajax({
        url : controllers('ActivatesController'),
        method : 'POST',
        data : {change_modal_content_activate : 1, url : url},
        success : function(e){
            console.log(e)
        }
    })
})

服務器

if(isset($_POST['change_modal_content_activate'])){
    $url = dirname(__DIR__) . $init->post('url');
    var_dump(file_exists($url));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM