Trong ứng dụng của tôi, tôi cần cung cấp API (giống như API Javascript của Google Maps), qua đó tôi có thể gửi một số javascript tùy chỉnh (với một số phiên và yêu cầu thông tin liên quan) như là phản ứng. Sau đó, javascript được sử dụng để vẽ một số đồ thị trên giao diện người dùng. Tôi đang sử dụng Express with Jade làm công cụ tạo khuôn mẫu của tôi. Mã mà tôi đang sử dụng là:Express/Node.js: Hiển thị javascript tùy chỉnh làm phản hồi
app.use('/graph',function(req, res){
//send out graph data
var var_name = req.session.var_name //fetch something from session
var graphData = fetchGraphData(req.query.graph); //function that fetches graph data
res.contentType("text/javascript");
res.render(__dirname + '/views/graph.jade', {
title: "Title", queryStr: JSON.stringify({var_name: var_name, graphData: graphData })
});
});
Và file ngọc:
| some_var_name = {
| initGraph : function(divId){
| //some code here
| var graphData = !{graphData}
| // do something
Là một workaround, tôi đã bắt đầu mỗi dòng của file ngọc với |
, vì vậy ngọc đó phân tích các văn bản dưới dạng văn bản thuần túy và không thêm bất kỳ thẻ html nào! Nó hoạt động tốt, nhưng có một cách sạch hơn để làm điều này? Các giải pháp có thể hoặc không thể sử dụng Jade!
Tôi không yêu cầu bao nhiêu mẫu, nhưng bạn vẫn có thể sử dụng 'res.send' để gửi bất kỳ chuỗi nào bạn muốn. – TheHippo
@ TheHippo: Cảm ơn bạn đã phản hồi! Nhưng tôi muốn tổ chức dữ liệu phản hồi trong các tệp, vì sẽ có khá nhiều hành động như vậy và tệp cũng khá dài! –