Quindi ho bisogno di verificare se esiste un file prima di mostrare i dati specifici per i clienti ... utilizzando jQuery ho questo:Utilizzando Ajax e jQuery per verificare se il file esiste - restituisce sempre 200 risposta
<script>
function fileExists(fileLocation) {
var response = $.ajax({
url: fileLocation,
type: 'HEAD',
async: false
}).status;
alert(response);
}
</script>
Quando provo a eseguire la funzione:
<script> fileExists('http://www.example.com/123.jpg'); </script>
(dove example.com è il mio dominio), HO SEMPRE ricevuto un codice di risposta 200. Mi stavo chiedendo perché questo potrebbe accadere - potrebbe essere che ho una pagina di errore personalizzata impostata su .htaccess? O c'è un metodo migliore per farlo?
Nota: jQuery 1.5.1 viene utilizzato.
Aggiornamento: Sembra che è diretto alla nostra pagina di errore personalizzata impostare tramite .htaccess:
ErrorDocument 404 http://www.example.com/errors/notfound.php
Non sono sicuro se questo fa sì che il conflitto, o come ottenere intorno ad esso.
risolto
ho controllato le intestazioni per la mia pagina 404 personalizzata, è stato restituito un codice di risposta 200. Ha dovuto codificare l'intestazione:
<?php header('HTTP/1.1 404 Not Found'); ?>
che sarebbe poi restituire il codice di risposta 404 - fissare il mio problema.
Si verifica anche quando il file non esiste? – 8vius
Sì, ad esempio: 123.jpg non esiste sul server, ma restituisce comunque un codice di stato 200. –
Sembra che il server non sia configurato correttamente. Cosa succede quando OTTIENE questa risorsa? Hai ancora un 200, ma con contenuti che suggeriscono 404? In tal caso sembra una configurazione errata. –