【发布时间】:2018-06-13 02:33:55
【问题描述】:
我想更改第一页(登录页面),在对其执行一些定义的操作后,第二个页面(管理仪表板)来自同一Express 中的控制器。
这是我来自nimda.js 的重要控制器代码:
function handlePut(req, res){
let html = fs.readFileSync(path.join(__dirname,'../static/feed.html'));
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(html);
}
router.put('/', handlePut);
// This handles the form submitted.
router.post('/', function(req, res){
if(req.body.pwd != '1234')
res.send('False');
else
{
//Doesn't work from here.
handlePut(req, res);
}
});
//This is when server.js routes the request to this script
router.get('/', function( req, res){
let html = fs.readFileSync(path.join(__dirname,'../static/login_nimda.html'));
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(html);
});
我认为在身份验证后从我的 POST 代码中执行 PUT 可以帮助我发送一个新的 HTML 页面作为响应。第一个 HTML 页面是 login_nimda.html,它向 /nimda 发出 POST 请求。
这不起作用,我保持不变login_nimda.html。不过 POST 请求可以正常工作。
这是我login_nimda.html的脚本:
<script>
$('#submit').on('click', function(){
var form = $('#log').serialize();
$.post('/nimda', form).done(function(data) {
if(data=="False" && $('#err').length==0){
$('#log').prepend('<p id = "err" class = "alert alert-info" align = "centre" > Incorrect!</p>');
}
else
{
$('#err').remove();
document.location.href = '/nimda/'+data;
}
});
});
</script>
非常欢迎这种方法的任何替代方案。
【问题讨论】:
标签: javascript jquery node.js ajax express