2017-03-09 2 views
0

Ich versuche, ein gezipptes Skript zu laden und auszuführen!jQuery laden gzipped Skript

Das Skript load.js:

$(document).ready(function() { 
    $("#ls_text").text("loaded!"); 
}); 

GZip mit 7zip load.js.gz.

auszudrücken Mein node.js Code zum Servieren Sie die Datei:

app.get('/load.js', function(req, res, next) { 
    res.set('Content-Encoding', 'gzip'); 

    var filepath = path.join(__dirname, '/public/load.js.gz'); 
    var readstream = fs.createReadStream(filepath); 

    readStream.pipe(res); 

    res.end(); 
}); 

für meine jQuery-Client-Code das Skript bekommen:

$.ajax({ 
     url: '/load.js', 
     dataType: "script", 
     success: function(data, status, xhr) { 
      alert("loaded"); 
     } 
}); 

In der Browser-Konsole erhalte ich die Fehlermeldung " ERR_CONTENT_DECODING_FAILED ".

Ich möchte gzip das Skript zur Laufzeit nicht ausdrücken lassen!

Was mache ich falsch?

Antwort

0

Wenn Sie Rohr res, rufen Sie nicht res.end():

app.get('/load.js', function(req, res, next) { 
    res.set('Content-Encoding', 'gzip'); 

    var filepath = path.join(__dirname, '/public/load.js.gz'); 
    var readStream = fs.createReadStream(filepath); 

    readStream.pipe(res); 
}); 
+0

Thank you! Aber es löst das Problem nicht! – Kian

+0

Sind Sie sicher, dass die Datei tatsächlich gezippt wurde? Ich glaube, dass 7zip mehrere Formate unterstützt. – robertklep

+0

Ich habe "gzip" als "Archive Format" im "Add to Archive" -Dialog gewählt. – Kian