php*_*ode 6 ejs node.js express
我正在集成第三方模板,该模板使用Mootools编写幻灯片.nodejs配置了express和ejs
幻灯片显示的数据来自几个xml文件.例如data.xml.我将data.xml放在公共文件夹中,并将以下代码添加到server.js(主文件)
app.use(express.static(__dirname + '/public'));
app.post('/data.xml', function(req, res){
res.contentType('application/xml');
res.sendFile('/data.xml');
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎不起作用.如果我输入url http:// localhost:8080/data.xml,我可以看到该文件
但我在firebug中看到的响应是"无法POST /data.xml"
我假设Mootools试图使用一些POST方法访问该文件.对此问题的任何建议?
当您使用 sendFile() 发送文件时,您需要指向绝对地址检查这一点。请注意,我的 data.xml 在主文件夹中。
您可以使用 localhost:8080/data (不是 localhost:8080/data.xml)访问该文件,而且由于这是一篇文章,因此您无法通过浏览器访问它。使用邮递员代替。或者,如果您需要在浏览器上访问它,您需要更改协议才能获取。
var express = require('express');
var path = require('path');
var app = express();
// you don't need this line!
// app.use(express.static(path.join(__dirname)));
app.post('/data', function(req, res){
res.contentType('application/xml');
res.sendFile(path.join(__dirname , 'data.xml'));
});
var server = app.listen(8080, () => {
console.log('Started listening on 8080');
});Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3331 次 |
| 最近记录: |