Kịch bản: Hãy xem xét mã sau đây để cung cấp JavaScript làm phản hồi từ máy chủ Node.JS.Node.js res.setHeader ('content-type', 'text/javascript'); đẩy javascript phản hồi dưới dạng tệp tải xuống
var http = require('http');
http.createServer(function (req, res) {
var JS_Script = 'function Test() { alert("test success")}';
res.setHeader('content-type', 'text/javascript');
res.end(JS_Script);
}).listen(8811);
Vấn đề: Trình duyệt buộc tải xuống tệp.
Câu hỏi: Tôi làm cách nào để hiển thị trên trình duyệt?
Note: Làm việc trong dịch vụ web .net với cùng HTTP-header: 'content-type', 'text/javascript'
Vì vậy, phát biểu sau đây rõ ràng nó không giữ tốt.
Nếu bạn muốn có một trình duyệt web để làm cho HTML, bạn nên thay đổi này để:
Content-Type: text/html
Cập nhật: Trên kiểm tra việc content-type
trong quá trình tải của nó application/octet-stream
Nhưng cùng khi tôi nhấn một yêu cầu với curl, sau đây là kết quả:
C:\>curl -is http://localhost:8811/
HTTP/1.1 200 OK
Content-Type: text/javascript
Content-Length: 166
Date: Tue, 09 Apr 2013 10:31:32 GMT
Connection: keep-alive
function Test() { alert("test success")}
'res.send()' là Express-ism và không khả dụng khi bạn sử dụng 'http' đơn giản. Vì vậy, tôi nghĩ rằng mã mẫu của bạn không phải là 100% những gì bạn đang thực sự sử dụng. – robertklep
sử dụng 'application/javascript' làm kiểu nội dung – mithunsatheesh