2014-04-28 7 views
6

Sto tentando di scrivere una funzione "fileExists" in Javascript che invia semplicemente una richiesta al server e restituisce false se viene restituito uno stato 404.Elimina errori console con XMLHttpRequest

La funzione funziona perfettamente, ma non riesco a sopprimere il messaggio di errore visualizzato nella console di Google Chrome: GET /something/foobar 404 (Not Found).

Qualcuno conosce un modo per aggirare questo problema?

Per riferimento, ecco il codice che sto usando:

var fileExists = function(url) { 
     var req = new XMLHttpRequest(); 
     req.open('GET', url, false); 
     req.send(); 
     return req.status === 200; 
    }; 

Grazie in anticipo!

risposta

5

Non penso che ci sia un modo per impedire alla console di affermare che il caricamento di una risorsa non è riuscito. Non c'è niente di sbagliato in questo.

È tuttavia preferibile utilizzare una richiesta HEAD anziché caricare realmente la risorsa con GET. Prova

function fileExists(url) { 
    var req = new XMLHttpRequest(); 
    req.open('HEAD', url, false); 
    req.send(); 
    return req.status !== 404; 
} 

Se si vuole davvero evitare 404 stati, installare un servizio sul server che è possibile interrogare se un file/percorso è disponibile. Restituisce sempre la risposta XML/JSON/testuale con uno stato 200 OK, indipendentemente da quello che contiene true o false.

+1

Grazie, ne avevo paura. Tuttavia, ho già provato tutti i metodi (anche PUT e DELETE: p) danno tutti lo stesso risultato :( – Harold

+1

In realtà questa soluzione non funziona.In realtà l'errore sulla console sembra peggiore in questo modo. –

+0

Sì, c'è qualcosa che non va L'OP e vorrei che il messaggio di errore sparisse perché non si sono verificati errori – DavidWalley