我有一個新手問題。我有一個Flash的Facebook應用程序,它使用Facebook信用。我使用express框架來服務我的靜態html文件,其中包含application.swf。express.static無法響應POST請求
這是我如何配置快遞:
var app = express();
app.configure(function(){
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(express.logger());
app.use(app.router);
// Redirections for default pages
app.all("/", function(req, res) { res.redirect("/index.html"); });
app.all("/facebook", function(req, res) { res.redirect("/facebook/index.html"); });
// Serve static files
app.all("*", express.static('/my/static/files/directory'));
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
});
require('http').createServer(app).listen(80);
require('https').createServer({
key: fs.readFileSync('./certs/www.app.org/www.app.org.key'),
cert: fs.readFileSync('./certs/www.app.org/www_app_org.crt'),
ca: fs.readFileSync('./certs/www.app.org/www_app_org.ca-bundle'),
}, app).listen(443);
我用這個結構來服務於HTTP和HTTPS請求我的應用程序。 當傳入的http請求類型爲GET時,它工作正常。
但是,當用戶在應用程序中購買物品時,臉書向我的應用程序發送POST請求。 問題是當接收POST請求到靜態文件目錄時,表達式拋出404錯誤。
P.S. :POST請求發送到相同的URL,這對GET請求非常有效。
這裏是監測結果:
node_local:httpserver 88.250.59.159 - - [Fri, 17 Aug 2012 11:51:09 GMT] "POST /facebook/index.html HTTP/1.1" 404 - "-" "Apache-HttpClient/4.1.3 (java 1.5)"
node_local:httpserver 88.250.59.159 - - [Fri, 17 Aug 2012 11:50:59 GMT] "GET /facebook/index.html HTTP/1.1" 200 5892 "-" "Apache-HttpClient/4.1.3 (java 1.5)"
完美合理,並且效果很好... – 2012-08-17 12:40:15
我也測試過它,它工作的很棒。 – Nadjib 2014-08-14 21:59:17