表达res.redirect目标页面js未加载

时间:2015-05-14 01:45:26

标签: node.js express pug

我正在使用Node.js + Express + Jade来演示一些非常简单的页面。我有两天这个问题。我google了很多,但找不到答案。基本上,我从一个页面重定向到另一个页面。在目标页面上,我在document.ready中有一些socket.io代码。问题来自/ pageone,pagetwo正确呈现(但浏览器中的url仍为/ pageone),但document.ready中的代码未执行。

我的router.js

app.post('/pageone', session, function(req, res){
    res.redirect('/pagetwo');
});

app.get('/pagetwo', function(req, res){
    res.render('pagetwo', { title: 'demo' });
});

我的pagetwo jade

doctype
html
head
    title #{title} - My Site
    link(rel='stylesheet', href='/css/style.css')
    script(type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js')
    script(type='text/javascript' src='https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js')
    script.
        $(document).ready(function() {
            alert("I am an alert box!");
        });
body
    h1 DEMO

结果是我可以在页面上看到DEMO但是没有显示警告框。但如果我直接访问/ pagetwo,则会显示警告框。

非常感谢

//////编辑////// 这是我的app.js

var express = require('express')
, http = require('http')
, session = require('express-session');

var app = express();
var port = process.env.PORT || 8080;

app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set('port', port);
app.use(express.static(__dirname + '/public'));
app.use(session({ secret: 'gdfgsdrgesrgerge', cookie: { maxAge: 60000 }}))

require('./controller/router')(app);
var server = http.createServer(app).listen(app.get('port'), function(){
    console.log("Express server listening on port " + app.get('port'));
})

这是我的router.js

var express = require('express');

module.exports = function(app) {
app.get('/pageone', function(req, res){
    res.render('pageone', { title: 'Welcome' });
});

app.post('/pageone', function(req, res){
    res.redirect('/pagetwo');
});

app.get('/pagetwo', function(req, res){
    res.render('pagetwo', { title: 'demo' });
});
};

0 个答案:

没有答案